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

Scanner.hsNextInt ()を使用して整数を取得する前に、スキャナーに要素が存在するかどうかを確認する必要があります。

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