Muss mehrmals eingegeben werden, bevor der Scanner die Eingabe liest

Wenn ich diesen Code ausführe

Scanner sc = new Scanner();
while (true) {
        if (sc.next().equals("1"))
            System.out.println("--1--");

        else if (sc.next().equals("2"))
            System.out.println("--2--");

        else if (sc.next().equals("3"))
            System.out.println("--3--");

        else if (sc.next().equals("4"))
            System.out.println("--4--");

        else if (sc.next().equals("help"))
            System.out.println("--help--");
    }

Es wird nicht gelesen, wenn ich zum ersten Mal eingebe. Ich muss 2-4 mal tippen, bevor es die Eingabe liest. Eine Sitzung könnte folgendermaßen aussehen:

1
1
1
1
--1--
3
3
--3--
help
2
1
help
--help--

Egal was ich tippe, es wird nur die letzte Eingabe der vier Eingaben gelesen. Manchmal liest es nach zwei Eingaben. Ich bin wirklich verwirrt darüber. Soll ich stattdessen mehrere Scanner verwenden?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage