Pobieranie pustego znaku - ...nextLine();

0

Witam, proszę o podpowiedz. Sprawa dot. prostego programiku, który po zakończeniu pierwszej iteracji pyta czy ponownie powtórzyć proces i tu mam problem. Ponieważ przy wyborze "T" program powinien rozpocząć drugą iterację, ale pozostały pusty znak powoduje, że odpowiedz na pierwsze pytanie jest pusta.
W KTÓRYM MIEJSCU POWINIENEM POBRAĆ "PUSTY ZNAK", ABY KOD DZIAŁAŁ POPRAWNIE?
Dzięki za podpowiedz.
P.S. Proszę o nie pokazywanie innego rozwiązania problemu, bo to nie o to chodzi. Muszę "obczaić-poczuć" jak to jest z tym pustym pozostałym znakiem.

public class metoda1 {
    public static void main(String[] args) {
        String slowo;
        int numer;
        char decyzja;
        Scanner keyboard = new Scanner(System.in);

        do {
            do {
                System.out.println("Wprowadz dowolne słowo: ");
                slowo = keyboard.nextLine();
                System.out.println("Wprowadz liczbe: ");
                numer = keyboard.nextInt();
            }
            while (slowo.length() < numer);
            zliczacz(numer - 1, slowo);

            System.out.print("Czy chcesz ponownie zagrać - wpisz T (tak) lub N (nie): ");
            decyzja = keyboard.next().charAt(0);
            keyboard.next();
        }
        while (decyzja == 'T' || decyzja == 't');
    }

    public static void zliczacz (int numer, String slowo) {
        char znak = slowo.charAt(numer);
        System.out.println("Znak: " + znak);
        System.out.println(slowo.length());
    }
}
0

A weź tak nie kombinuj i zamiast:

            decyzja = keyboard.next().charAt(0);
            keyboard.next();

Zrób kolejne getline...

0
Jurij80 napisał(a):

W KTÓRYM MIEJSCU POWINIENEM POBRAĆ "PUSTY ZNAK", ABY KOD DZIAŁAŁ POPRAWNIE?

P.S. Proszę o nie pokazywanie innego rozwiązania problemu, bo to nie o to chodzi. Muszę "obczaić-poczuć" jak to jest z tym pustym pozostałym znakiem.

Pusty znak pobierasz w dobrym miejscu, tyle, że złą metodą.

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