2017-12-18 10 views
-1

問題:ユーザからスキャナ(sc)で入力を受け取り、空のsc.nextLine()を入力しなかった場合、前の行はスキップされる。この空の火を使用すると、後で使用するために変数が収集されることはありません。ブランクスキャナnextLineが入力なしで行がスキップされる

System.out.println("Please enter the Airline name: "); 
    String airName = sc.nextLine(); 
    sc.nextLine(); <--------- 
    System.out.println("Please enter the Airline code: "); 
    String airCode = sc.nextLine(); 
    System.out.println("Please enter the Delta Aircraft: "); 
    String airCraft = sc.nextLine(); 
    System.out.println("Please enter the first class seat capacity: "); 
    int firstClass = sc.nextInt(); 
    System.out.println("Please enter the business class seat capacity: "); 
    int busiClass = sc.nextInt(); 
    System.out.println("Please enter the economy class seat capacity: "); 
    int econClass = sc.nextInt(); 
    System.out.println("Airline name: " + airName); 
    System.out.println("Airline code: " + airCode); 
    System.out.println("Delta Aircraft: " + airCraft); 
    //Splitting the first word from the rest of the string 
    String arr[] = airCraft.split(" ", 2); 
    String firstWord = arr[0]; 
    System.out.println(firstWord + " first class seat capacity: " + firstClass); 
    System.out.println(firstWord + " business class seat capacity: " + busiClass); 
    System.out.println(firstWord + " economy class seat capacity: " + econClass); 
    //Airline object 
    A8AirlineAircraftData airline = new A8AirlineAircraftData(airName, airCode, airCraft, firstClass, busiClass, econClass); 
    System.out.println(airName + " successfully added. Press Enter to continue."); 
    sc.nextLine();//Press Enter to continue 
    sc.nextLine(); 
    //A8MainMenu.mainMenu(sc); //return to main menu after Enter. 
    return airline; 

マイ出力:

Airline name: 
Airline code: QA 
Delta Aircraft: Boeing 787 
Boeing first class seat capacity: 16 
Boeing business class seat capacity: 25 
Boeing economy class seat capacity: 199 
successfully added. Press Enter to continue. 
+0

このスレッドへhttps://stackoverflow.com/questions/13102045/scanner-is-skipping-nextline-after-using-next-nextint-or-other-nextfoo?rq=1 –

+0

私は、空の火を使ってみました。 –

答えて

0

私はスキャナを通過始め前のブランクsc.nextLine を配置するためになってしまいました。

sc.nextLine(); 
    System.out.println("Please enter the Airline name:"); 
    String airName = sc.nextLine(); 
関連する問題