Проблема со Сканером Java sc.nextLine ();

sry о моем английском языке :)
Я плохо знаком с программированием Java, и у меня есть проблема со Сканером. Я должен считать Интервал, показать некоторый материал и затем считать строку, таким образом, я использую sc.nextInt (); покажите мой материал showMenu (); и затем попытайтесь считать строку palabra=sc.nextLine ();

Кто-то сказал мне, что я должен использовать sc.nextLine (); после sc.nextInt (); но я не понимаю, почему необходимо сделать это :(

Вот мой код:

public static void main(String[] args) {
    // TODO code application logic here
    Scanner sc = new Scanner(System.in);
    int respuesta = 1;

    showMenu();
    respuesta = sc.nextInt();
    sc.nextLine(); //Why is this line necessary for second scan to work?

    switch (respuesta){
        case 1:
            System.out.println("=== Palindromo ===");
            String palabra = sc.nextLine();
            if (esPalindromo(palabra) == true)
                System.out.println("Es Palindromo");
            else
                System.out.println("No es Palindromo");
        break;
    }


}

Ty так в течение Вашего времени и Справки :D

5
задан skaffman 15 May 2011 в 12:47
поделиться

1 ответ

nextInt () только читает, пока не найдет int, а затем останавливается.

Вы должны выполнить nextLine () , потому что во входном потоке все еще есть символ новой строки и, возможно, другие данные, не относящиеся к int. Вызов nextLine () считывает все оставшиеся данные, включая ввод, который пользователь нажал между вводом int и вводом String.

7
ответ дан 14 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: