Ominięcie wykonania jednej komendy klasy Scanner

0

Witam,
mam problem z wprowadzaniem danych przez klasę scanner. Gdy kod wygląda jak poniżej to przy pierwszym wykonaniu pętli nie jest wykonywany jedna linijka (komentarz) - przy kolejnych już wszystko działa poprawnie. Gdy dam np. ilosc = 5 to już wszystko działa poprawnie. W czym jest problem?

Pozdrawiam.

        Scanner scan = new Scanner(System.in);
        System.out.println("Podaj numer");
        plik = "u" + scan.nextLine() + ".txt";
        System.out.println("Podaj ilosc");
        ilosc = scan.nextByte();
        ksiazka = new Ksiazka(ilosc, plik);
        WczytajPlik(plik);
        System.out.println("\nZaczynamy!");
        for (int i = 0; i < ilosc; i++) {
            System.out.println("\n" + manager.Wyswietl());
            slowo = scan.nextLine(); //omija przy pierwszym wykonaniu pętli
        }
        scan.close();
0

Nic nie jest pomijane, nextByte() czyta liczbę bez następującego po niej entera. Pierwsze nextLine() czyta ten pozostawiony w buforze klawiatury enter. Trzeba go usunąć.

        ilosc = scan.nextByte();
        scan.nextLine();
        ksiazka = new Ksiazka(ilosc, plik);

1 użytkowników online, w tym zalogowanych: 0, gości: 1