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
nextInt ()
только читает, пока не найдет int, а затем останавливается.
Вы должны выполнить nextLine ()
, потому что во входном потоке все еще есть символ новой строки и, возможно, другие данные, не относящиеся к int. Вызов nextLine ()
считывает все оставшиеся данные, включая ввод, который пользователь нажал между вводом int и вводом String.