大家早上好,
我目前正在学习编码/Java。我需要做的任务是;制作一个程序,接受用户输入并返回最高和最低条目。我必须使用 while 循环来保持简单。目前我得到了这个:
System.out.println("Enter numbers, Q to finish: ");
int largest = sc.nextInt();
int smallest = sc.nextInt();
while (sc.hasNextInt()) {
int number = sc.nextInt();
if(number > largest) {
largest = number;
}
else if(number < smallest){
smallest = number;
}
}
System.out.printf("Largest: %d Smallest: %d", largest, smallest);
问题是它会跳过第一个用户条目。经过一些测试后,我发现当我只输入 1 个数字并按 Q 时,我收到错误。如果我进入; 10 - 20 - 30,返回的是;最大:30 最小:20。
有人知道为什么它会跳过第一个用户条目吗?
最佳答案
替换这两行:
int largest = sc.nextInt();
int smallest = sc.nextInt();
与
int largest = sc.nextInt();
int smallest = largest;
关于Java - 使用 while 循环丢失第一个用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48827599/