0

我的代码收到此错误:

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

    }
}

怎么了?

4

1 回答 1

3

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

       while(tastetur.hasnextInt()){
        alder = tastetur.nextInt(); 
        }
于 2012-12-16T16:27:57.973 回答