java - 为什么扫描仪类不能识别其他数字?

标签 java java.util.scanner

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/

相关文章:

java - Java语法允许随机数组吗?

java - Akka 阻止请求是否会阻止其他参与者?

java - 作业挑战研究,随机生成的字符串+数字比较

java - 启用换行符时,扫描仪的缓冲区不代表整个文件

java - 如何通过 livy 编程 API 提交批处理 jar Spark 作业

java - micronaut 的 @AuthenticationPrincipal 替代方案是什么?

java - java 8中包私有(private)可见性相关的变化?

java - 如何忽略用户通过扫描仪输入的字符?

java - 如何在 while 循环中保存各个输入并在最后打印它们?

java - 扫描仪没有扫描我的输入