Debe escribir varias veces, antes de que el escáner lea la entrada

Si ejecuto este código

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--");
    }

No se leerá la primera vez que escriba enter. Tengo que escribir 2-4 veces antes de que lea la entrada. Una sesión podría verse así:

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

No importa lo que escriba, solo leerá la última entrada de las cuatro entradas. A veces se lee después de dos entradas. Estoy realmente confundido acerca de esto. ¿Debería usar múltiples escáneres?

Respuestas a la pregunta(3)

Su respuesta a la pregunta