java - 如何从单个输入扫描不确定的数字列表?

标签 java java.util.scanner

如何从单个输入中扫描不定的数字列表?

我做了一个简短的谷歌搜索,发现了 hasNextInt(),但是如果最后一个输入不是整数,它只会停止扫描,而如果它是最后一个整数,我需要它停止扫描。例如,它会继续询问我的列表是否以整数结尾。

我的代码:

 System.out.println("Enter a list of numbers");
        int n = 0;
        while (input.hasNextInt()){
            n = input.nextInt();
            List.push(n);
        }
        List.displayStack();

最佳答案

您可以使用hasNext()来代替。然后解析输入并获取数字 -

    int n=0;
    Scanner input = new Scanner(System.in);

    while (input.hasNext()) {
        try {
            n = Integer.parseInt(input.nextLine());
            //do something eg.- you have done
            //List.push(n);
        } catch (NumberFormatException nfe) { 
            //handle exception
        }
   }

现在如果输入不是整数那么它不会停止。相反,它会去catch block 。由于 catch block 仍在 while 循环中,因此您现在仍然可以获取新输入。

希望能有所帮助。
非常感谢

关于java - 如何从单个输入扫描不确定的数字列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29152439/

相关文章:

java - 避免在 Java 中使用 instanceof

java - 在 Selenium 中执行 WebElement#click() 之前如何检查是否存在重叠元素

java - Scanner.nextInt(),超出范围避免?

java - 在使用 Scanner 读取用户输入时,我可以使用回车键作为分隔符,而不是 "\n"吗?

java - 使用扫描仪 Java 的文件名

java - 为什么用递归停止 isRoundNumber

java - tomcat java php

java - JTable - 防止用户取消选择表中的所有元素

java - 扫描仪只能读取一半的数字。文件中的行数

来自 URL 文本文件的 Java 单行扫描器