在Java中设置二维数组的值

时间:2019-10-17 20:45:30

标签: java arrays multidimensional-array pass-by-reference alphabet

我正在尝试在Java中设置字母的二维数组。 我的第一次尝试(无效):

char[][] arr=new char[4][7];
for(int r=0; r<arr.length; r++){
   for(int c=0; c<arr[r].length; c++){
      for(char i=65; i<91; i++){
         arr[r][c]=i;
         System.out.print(arr[r][c]);
      }
   }
   System.out.println();
}

我的第二次尝试(确实可行,但看起来有些麻烦):

    char[][] arr2=new char[4][7];
    char i=65;
    for(int r=0; r<arr2.length; r++){
        for(int c=0; c<arr2[r].length; c++){
            arr2[r][c]=i;
            System.out.print(arr2[r][c]);
            if(i<91){
                i++;
            }
        }
        System.out.println();
    }

我有点理解为什么第一个方法不起作用,但是我仍然想知道解决此问题的最佳方法。

1 个答案:

答案 0 :(得分:0)

考虑使用字母作为循环并计算目标位置

public static void main(String[ ] args) {
    char[][] alphabet = new char[4][7];
    char c = 'a';
    for (int i = 0; i < 26; i++) {
        alphabet[i/7][i%7] = c++;
    }

    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 7; j++) {
            System.out.print(alphabet[i][j]);
        }
        System.out.println();
    }
}