我正在尝试编写一个程序,它要求用户输入整数并继续输入它们直到用户输入Q.每次输入后,程序都应该提示字符串:“输入一个整数或Q退出:“。
在我的终端上,每秒out.print仅提示用户输入,而不是提示输入的字符串。例如,输出将如下所示:
输入一个整数,或输入Q以退出:90
80
输入一个整数,或输入Q以退出:100
输入一个整数,或输入Q以退出:25
输入一个整数,或输入Q以退出:7
输入一个整数,或输入Q以退出: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);
我的第一个猜测是某些陈述的排序,但我没有运气。有什么建议吗?
答案 0 :(得分:1)
问题在于您正在等待两个数字......将其更改为:
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个数字,其中一个是最大值。