如何填充二维数组?

时间:2014-06-29 02:33:01

标签: java arrays

我有N个数字,N = 10,如何将它填充到二维数组中,所以它看起来像这样:

{{1 2 3 4 5 }
 {6 7 8 9 10}}

这是我到目前为止所拥有的:

int[][] a = new int[2][5]
for(int i=0; i<2; i++)
  for(int j=0; j<5; j++){
    a[i][j] = ?
 }
}

或者这根本不可能?

5 个答案:

答案 0 :(得分:0)

您可以将数字保存在变量中,并在每次迭代后增加它:

int i = 1;

for (...) {
    for (...) {
        a[i][j] = i++; // the ++ operator will increase it by one
    }
}

答案 1 :(得分:0)

鉴于你的第一个数组,a我认为你想要这样的

public static void main(String[] args) {
  int[][] a = new int[2][5];
  for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < a[i].length; j++) {
      a[i][j] = j + (a[i].length * i) + 1;
    }
  }
  System.out.println(Arrays.deepToString(a));
}

输出

[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]

答案 2 :(得分:0)

您可以增加var并填充数组:

int var = 1;

for (int i = 0; i < 2; i++) 
{
    for (int j = 0; j < 5; j++) 
    {
        a[i][j] = var++; 
    }
}

或者您可以使用Scanner并从用户那里获取一些输入:

Scanner in = new Scanner(System.in);

for (int i = 0; i < 2; i++) 
{
    for (int j = 0; j < 5; j++) 
    {
        a[i][j] = in.nextInt(); 
    }
}

答案 3 :(得分:0)

int[][] a = new int[2][5];
int x = 1;
for(int i=0; i<2; i++) {
  for(int j=0; j<5; j++){
      a[i][j] = x++;
  }
}

答案 4 :(得分:0)

我无法判断这些值是在编译时是否已知,或者在运行时是否需要动态。原始问题中的示例和上面的答案似乎表明,您可能只是尝试使用编译时已知的值初始化数组,如果是这种情况,您可以执行以下操作:

int[][] nums = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}};