java - 这个扫描仪有什么问题吗?

标签 java java.util.scanner

所以我有一些带有扫描器的 Java 代码。当我收到错误时,我做错了什么。

// Creates a "scanner" for the input
Scanner readInput = new Scanner(System.in);

// Print out random integer and open close message.
System.out.println("Printing Random Numbers between 1-200: ");
int guess = readInput.nextInt();

错误(我对 Java 还很陌生,我的代码有点像 4-5 年前。但忘记了):

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at main.files.mian.main(mian.java:30)

最佳答案

如果您输入数字(整数)以外的任何内容,您的程序将崩溃。以下代码检查是否能够将输入转换为 int。如果是,则一切正常,否则错误将是 printet,但程序不会崩溃。

        // Creates a "scanner" for the input
        Scanner readInput = new Scanner(System.in);

        // Print out random integer and open close message.
        System.out.println("Printing Random Numbers between 1-200: ");
        try {
            int guess = readInput.nextInt();
        } catch (InputMismatchException e) {
            System.err.println("You didn't enter a number.");
        }

关于java - 这个扫描仪有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18173928/

相关文章:

java - 在 kb.nextInt() 中找不到符号;

java - Java中输入Ctrl+D时如何退出程序?

java - 正则表达式拆分不起作用

java - OpenAL中是否可以直接选择录音设备?

Java UI 布局问题

java - 无法使用 Java 中的 Scanner 比较从 txt 文件读取的行

java - .hasNextInt 的替代方法?

java - Android更改表示时间和日期的字符串的格式

java - Java 中的 ListIterator 分配

java - java.util.Scanner 中的错误