ArrayList

Bitte aktiviere JavaScript!
Guten Tag,
könnte mir jemand erklären, warum bei "Eingabe 1" sofort ein leerer Array ausgegeben wird? Normalerweise will ich eine Eingabe tätigen und nicht erst einen leeren Array erhalten.
Wie könnte ich diese Problem umgehen? Für Vorschläge oder Tipps wäre ich sehr dankbar!

Code:
public static void main(String[] args) {

        List<String> list = new ArrayList<String>();
        Scanner sc = new Scanner(System.in);
        System.out.println("Wie viele Eingaben möchten Sie speichern?");
        int anzahl = sc.nextInt();
        for(int i = 1; i < anzahl+1; i++){
            System.out.println("Eingabe "+ i + ": " );
            String eingabe = sc.nextLine();
            list.add(eingabe);
            System.out.println(list);
        }
        
        OUTPUT bei anzahl = 3
        Eingabe 1:
        []
        Eingabe 2:
        asd
        [, asd]
        Eingabe 3:
        asd
        [, asd, asd]
 
sc.skip("[\\s]*"); does the Trick...

Java:
		List<String> list = new ArrayList<String>();
        Scanner sc = new Scanner(System.in);
        System.out.println("Wie viele Eingaben möchten Sie speichern?");
        int anzahl = sc.nextInt();
        for(int i = 1; i < anzahl+1; i++){
            System.out.println("Eingabe "+ i + ": " );
            sc.skip("[\\s]*");
            String eingabe = sc.nextLine();
            list.add(eingabe);
            System.out.println(list);
        }
Code:
Wie viele Eingaben möchten Sie speichern?
2
Eingabe 1: 
Hallo
[Hallo]
Eingabe 2: 
Du
[Hallo, Du]

Die Begründung ist einfach, sc.nextInt(); konsumiert nicht das Zeilenende...
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben