带有用户输入的二维数组

2D array with user input

我想创建一个 5 行 2 列的 int 数组,并让用户输入数组中的每个值。我想使用 StdIn 作为输入。为什么这行不通?请帮忙!谢谢

这是我的努力:

int [][] a = new int [5][2];

int i;
int j;

for( i = 0; i < 4; i++ );
{
  for( j = 0; j < 2; j++ );
  {
    System.out.println( "Month number (e.g. August = 8)" );
    int month = StdIn.readInt();
    a[i][0] = month;

    System.out.println( "Year number (e.g. 2007)" );                
    int year = StdIn.readInt();
    a[i][1] = year;

  }
}

您已经向用户询问了这两个值,不需要嵌套循环:

int [][] a = new int [5][2];
for(int i = 0; i < 5; i++ )
{
    System.out.println( "Month number (e.g. August = 8)" );
    int month = StdIn.readInt();
    a[i][0] = month;

    System.out.println( "Year number (e.g. 2007)" );                
    int year = StdIn.readInt();
    a[i][1] = year;

}

我还删除了第一个 for 循环后的分号 ;,使其无用,并将迭代固定为 4(您正在循环 [0..4),您可能想要 [0..5) ).

j 被删除,因为不需要嵌套循环,我已经将 i 设为 for 循环的局部。