带有用户输入的2D数组

时间:2015-07-11 00:03:51

标签: java arrays for-loop multidimensional-array stdin

我想创建一个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;

  }
}

1 个答案:

答案 0 :(得分:2)

您已经在询问用户的两个值,不需要嵌套循环:

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循环中。