2014-02-04 5 views
-1
else if(digit == 2) 
{ 
     System.out.print("Enter the name of artist : "); 
     String artist=input.nextLine(); 

     System.out.print("Enter the song title : "); 
     String song = input.nextLine(); 

     System.out.print("Enter the number of week :"); 
     int oldWeek =input.nextInt(); 

     System.out.print("Enter the new number of week :"); 
     int newWeek =input.nextInt() 
} 

Здравствуйте, Я бегу иначе, если цикл, где, если пользователь вводит 2 следующий код будет работать, но проблема здесь, кажется, что, когда он работает он работает 2 System.out.println код вместе. Вот пример моего выходавход Пользователь не работает

This program will display singles that was Number one on charts 
Enter 1 or 2. 2 
Enter the name of artist : Enter the song title : 
+0

u необходимо опубликовать все соответствующие части кода. –

+1

«он работает, он запускает 2 кода System.otu.println вместе» - Как? – Maroun

+0

Возможный дубликат [Пропуск nextLine() после использования nextInt()] (http://stackoverflow.com/questions/13102045/skipping-nextline-after-use-nextint)? – PakkuDon

ответ

3

Похоже, у вас есть nextInt() выполняется до тех nextLine(). Случается, что nextInt() не потребляет символ новой строки, поэтому следующий nextLine() будет потреблять его. Это делает так, что nextLine() были пропущены. For further information you could see this entry.

Одним из решений будет вызов nextLine() после nextInt() для того, чтобы потреблять символ новой строки:

int number = scanner.nextInt(); 
scanner.nextLine(); // Just to consume new-line character 
... 

Другим решением будет использовать nextLine() читать целое число, а затем разбор его с Integer.parseInt():

int number = Integer.parseInt(scanner.nextLine()); 
... 
+0

Эй, я пробовал делать это, но все же, когда он достигает System.out.print («Введите имя исполнителя:»); String artist = input.nextLine(); будет автоматически показывать такое же поведение –

+0

Эта проблема довольно распространена, прочитайте ссылку, которую я разместил, и вы поймете, почему это происходит. И, может быть, вам больше не понадобится наша помощь. – Christian

+0

Спасибо за ссылку, я просмотрел страницу и решил свою проблему. –

Смежные вопросы