在我的实验室中,我们必须输入用户输入的数字,直到输入“0”。然后程序将查找最大值,计算出现次数,并输出两个数字。最大值和发生次数。
这里是我的代码:
Scanner scan = new Scanner(System.in);
int max = Integer.MIN_VALUE, count = 0, num;
System.out.println ("Enter a number (Enter a 0 to stop): ");
num = scan.nextInt();
while (num != 0){
System.out.println ("Enter a number: ");
num = scan.nextInt();
if (num >= max){
max = num;
count ++;
}
}
System.out.println("\nMax number was: " + max);
System.out.println("Number of occurences: " + count);
现在,当它输出,有时我得到正确的答案,有时没有。我想我只是有错误的循环或者计数器需要重置,但我无法弄清楚。
例如:
如果我输入:3,5,2,5,5,5,0
输出读取: 最大数为:5 数OCCURENCES的:4
但是,如果我输入:3,5,9,2,5,9,0
输出读取: 最大数为:9 编号OCCURENCES的:3
只是寻求一些建议。帮助将不胜感激:d
此外,第一个输入被忽略。 – doelleri
我以为实际上发布后,我试图修复它。意识到它应该是一个'do-while'循环而不是'while'。谢谢! :D – Tyler
它不一定是一个while while循环。只是不要在循环之前读取任何int。将num初始化为除0之外的任何值。 –