我的java.util.Scanner无法正常工作



我的代码收到此错误:

Skriv din alder herunder og tryk enter:
Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:907)
    at java.util.Scanner.next(Scanner.java:1530)
    at java.util.Scanner.nextInt(Scanner.java:2160)
    at java.util.Scanner.nextInt(Scanner.java:2119)
    at Tasteturindtastning.main(Tasteturindtastning.java:20)
[Finished in 1.7s with exit code 1]

我的代码是:

// Starter java som man plejer, læs i HejVerden.java
public class Tasteturindtastning
{
    public static void main(String[] arg)
    {
        /* Jeg skal nu angive en variable, men jeg kan ikke bestemme denne variable
         * Da jeg ønsker at indtastningen fra dette tastetur skal være variablen.
         * I stedet for int og double bruger jeg så java.util.Scanner, som aflæser
         * brugerens indtastninger.
         */
        java.util.Scanner tastetur = new java.util.Scanner(System.in);
        // Printer en opgave/spørgsmål til brugeren
        System.out.println("Skriv din alder herunder og tryk enter:");
        int alder; // Angiver et variablenavn
        alder = tastetur.nextInt(); // Angiver variablen med værdien fra indtastningen
        /* Herunder gør jeg brug af et if statement der tjekker værdien for
         * variablen alder, og ser om den er lig med eller højere end 18, og hvis
         * dette er tilfældet, så udprinter den en sætning
         */
        if (alder >= 18) System.out.println("Du er myndig, da du er " + alder + " år gammel"); // Printes hvis han er 18 eller ældre
    }
}

怎么了?

当没有更多元素要从扫描器读取时,扫描程序会抛出 NoSuchElementException。在使用 Scanner 检索整数之前,您必须检查扫描程序中是否存在任何元素。hsNextInt()

       while(tastetur.hasnextInt()){
        alder = tastetur.nextInt(); 
        }

最新更新