带有用户输入的二维数组
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 循环的局部。
我想创建一个 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 循环的局部。