2016-04-09 3 views
2

Я новичок в программировании, и эта проблема всегда сталкивается со мной Когда я запускаю программу, Java игнорирует ввод строки внутри a, если . Что я делал неправильно?Java игнорирует строку

import java.util.Scanner; 

public class JavaApplication { 

    public static void main(String[] args) { 

     Scanner input = new Scanner(System.in); 

     System.out.print("------ FEEDBACK/COMPLAINT ------\n" 
       + "-------------------------------------\n" 
       + "| 1: Submit Feedback |\n" 
       + "| 2: Submit Complaint |\n" 
       + "| 3: Previous Menu |\n" 
       + "-----------------------------------\n" 
       + "> Please enter the choice: "); 
     int feedorcomw = input.nextInt(); 

     if (feedorcomw == 1) { 
      String name; 
      System.out.print("> Enter your name (first and last): "); 
      name = input.nextLine(); 
      System.out.println(""); 
      System.out.print("> Enter your mobile (##-###-####): "); 
      int num = input.nextInt(); 

     } 

    } 
} 
+0

какой тип ошибки вы получаете? – Andrew

+2

Возможно, это ответ на вашу проблему http://stackoverflow.com/questions/13102045/skipping-nextline-after-using-next-nextint-or-other-nextfoo-methods – RubioRic

+0

@ и ваше редактирование не имеет большого смысла - почему сделать минимальный полный пример в одном, который вместо того, чтобы просто фиксировать форматирование? – Flexo

ответ

1

вы ommitting того факта, что Сканер # nextInt метод не потребляет последний символ новой строки вашего входа, и, таким образом, что символ новой строка, потребляемый в следующем вызове Scanner # nextLine

попробуйте добавить input.nextLine(); после этого и все будет работать нормально

Пример:

public static void main(String[] args) { 

    Scanner input = new Scanner(System.in); 

    System.out.print("------ FEEDBACK/COMPLAINT ------\n" 
      + "-------------------------------------\n" 
      + "| 1: Submit Feedback |\n" 
      + "| 2: Submit Complaint |\n" 
      + "| 3: Previous Menu |\n" 
      + "-----------------------------------\n" 
      + "> Please enter the choice: "); 
    int feedorcomw = input.nextInt(); 

    input.nextLine(); 
    if (feedorcomw == 1) { 
     String name; 
     System.out.print("> Enter your name (first and last): "); 
     name = input.nextLine(); 
     System.out.println(""); 
     System.out.print("> Enter your mobile (##-###-####): "); 
     int num = input.nextInt(); 

    } 

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