将矩阵存储在2d char数组Java中

时间:2015-05-16 07:11:25

标签: java arrays

我试图在java 2d char数组中存储一个矩阵,但由于我不能接受char中的输入,我试图找到存储在2d char数组中的最佳解决方案。

例如。基质

 1112
 1912
 1892
 1234

我尝试了什么: -

 for(int i=0; i<n; i++)
        for(int j=0; j<n; j++)
            map[i][j]=sc.next().charAt(0);

输出错误。还有其他建议吗?

1 个答案:

答案 0 :(得分:1)

您需要将代码更改为

String data = "";
int count = 0;
for (int i = 0; i < n; i++) {
    if (sc.hasNext()) {
        data = sc.next();
        count = 0;
    } else {
        break;
    }
    for (int j = 0; j < n; j++)
    map[i][j] = data.charAt(count++);
}

for i和j的循环用于生成矩阵索引,因为您需要读取首先必须通过令牌读取令牌的字符然后迭代其字符,其他用户答案失败,因为用户对矩阵和如果在j的最后一次迭代,即n-1(表示矩阵长度不是字符串长度),如果字符串长度小于n-1,那么你将获得in.charAt(j)的IndexOutOfbound Exception。