while 循环(if else 语句)
While-loop(if else statement)
我想让我的程序输入 9 个数字。如果我输入一个小于零或大于九的数字,它应该返回并再次要求你输入另一个数字。附图是我的程序有问题。
Scanner input = new Scanner(System.in);
int magic_square[][]=new int[3][3];
int counter = 0;
while(true){
System.out.println("Enter the Magic Number: ");
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
System.out.println("Number "+(i+1)*(j+1));
magic_square[i][j] = input.nextInt();
if (magic_square[i][j] < 1 || magic_square[i][j] > 9)
System.out.println("ERROR! Input range is invalid.");
else
counter++;
}
}
}
您可以取消嵌套的 for
循环并利用 counter
变量。
只需使用您的 counter
变量:counter/3
将指向行,counter%3
将指向列。
counter < 9
将有助于避免 while(true)
方法,我个人不推荐这种方法。
此外,您的代码允许无效数字进入数组并继续到下一个位置,这不是您 post.
的预期行为
Scanner input = new Scanner(System.in);
int magic_square[][]=new int[3][3];
int counter = 0;
System.out.println("Enter the Magic Number: ");
while(counter < 9){
System.out.println("Number "+(counter+1));
int input_num = input.nextInt();
if (input_num < 1 || input_num > 9){
System.out.println("ERROR! Input range is invalid.");
} else {
magic_square[counter/3][counter%3] = input_num;
counter++;
}
}
我想让我的程序输入 9 个数字。如果我输入一个小于零或大于九的数字,它应该返回并再次要求你输入另一个数字。附图是我的程序有问题。
Scanner input = new Scanner(System.in);
int magic_square[][]=new int[3][3];
int counter = 0;
while(true){
System.out.println("Enter the Magic Number: ");
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
System.out.println("Number "+(i+1)*(j+1));
magic_square[i][j] = input.nextInt();
if (magic_square[i][j] < 1 || magic_square[i][j] > 9)
System.out.println("ERROR! Input range is invalid.");
else
counter++;
}
}
}
您可以取消嵌套的 for
循环并利用 counter
变量。
只需使用您的
counter
变量:counter/3
将指向行,counter%3
将指向列。counter < 9
将有助于避免while(true)
方法,我个人不推荐这种方法。
此外,您的代码允许无效数字进入数组并继续到下一个位置,这不是您 post.
的预期行为 Scanner input = new Scanner(System.in);
int magic_square[][]=new int[3][3];
int counter = 0;
System.out.println("Enter the Magic Number: ");
while(counter < 9){
System.out.println("Number "+(counter+1));
int input_num = input.nextInt();
if (input_num < 1 || input_num > 9){
System.out.println("ERROR! Input range is invalid.");
} else {
magic_square[counter/3][counter%3] = input_num;
counter++;
}
}