public class Hello {
public static void main(String [] args){
int number, count = 0, sum = 0;
int Largest= 0, largestEvenNumber = 0;
Scanner console = new Scanner(System.in);
number = console.nextInt(); // read an integer entered by a user
if (number > Largest) { // Condition for computing the largest number
Largest = number;
}
if (number < 0) { // Condition for computing the number of negative integers in the sequence
count = count + 1;
}
if (number % 2 == 0) { // Condition for computing the largest even integer in the sequence
if (largestEvenNumber < number) {
largestEvenNumber = number;
}
}
if (number % 3 == 0) { // Condition for computing the sum of numbers divisible by 3
sum += number;
}
System.out.println("\nThe largest integer is " + Largest);
System.out.println("The number of negative integers in the sequence is " + count);
System.out.println("The largest even integer in the sequence is " + largestEvenNumber);
System.out.printf("The sum of numbers divisible by 3 is %d", sum);
}
}
我想得到下面给出的预期输出。但是,Scanner 类仅读取第一个数字。如何在不创建多个对象的情况下纠正此问题?
Output:
2
-1
-5
-3
9
8
0
The largest integer is 2
The number of negative integers in the sequence is 0
The largest even integer in the sequence is 2
The sum of numbers divisible by 3 is 0
Process finished with exit code 0
预期输出:
最大的整数是9 序列中负整数的个数为 3 序列中最大的偶数是 8 能被3整除的数之和是6
谢谢!
最佳答案
您只需调用 console.nextInt()
一次,因此只会读取一个数字。如果你想调用,你需要循环调用console.hasNext()。由于您使用的是System.in
。例如:
while (console.hasNextInt()) {
number = console.nextInt();
// calculations
}
关于java - 为什么扫描仪类不能识别其他数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63534185/