我正在尝试编写一个程序,要求用户输入整数并继续输入它们,直到用户输入 Q。每次输入后,程序应提示字符串:“输入整数,或 Q 退出:”。
在我的终端上,每秒 out.print 只提示用户输入,而不是要求输入的字符串。例如,输出如下所示:
Enter an integer, or Q to quit: 90
80
Enter an integer, or Q to quit: 100
Enter an integer, or Q to quit: 25
Enter an integer, or Q to quit: 7
Enter an integer, or Q to quit: Q
我的代码如下...
Scanner in = new Scanner(System.in);
System.out.print("Enter an integer, or Q to quit: ");
int largest = in.nextInt();
if (in.hasNextInt())
{
while (in.hasNextInt())
{
int input = in.nextInt();
if(input > largest)
{
largest = input;
}
System.out.print("Enter an integer, or Q to quit: ");
}
}
System.out.println(largest);
我的第一个猜测是某些语句的顺序,但我没有任何运气。有什么建议吗?
最佳答案
问题是您正在等待两个数字...将其更改为如下:
Scanner in = new Scanner(System.in);
System.out.print("Enter an integer, or Q to quit: ");
int largest = Integer.MIN_VALUE;
while (in.hasNextInt())
{
int input = in.nextInt();
if (input > largest)
{
largest = input;
}
System.out.print("Enter an integer, or Q to quit: ");
}
System.out.println(largest);
您之前版本的代码存在的问题是,您最初需要 2 个数字,其中一个是最大值。
关于Java,第二个打印输出与其他打印输出不同,基于循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19444074/