2013-02-07 43 views
1

我試圖一個接一個地掃描字符串,有些可能包含空格。由於目前我的代碼功能只有在您輸入的每個字符串都是一個字的情況下才有效。無論行中是否有空格,用連續的文本行掃描的正確方法是什麼?如何掃描所有包含空格的多個字符串?

System.out.print("Enter your first name: "); 
       fName = scan.next(); 

       System.out.print("Enter your last name: "); 
       lName = scan.next(); 

       System.out.print("Enter your street and house number: "); 
       address = scan.next(); 

       System.out.print("Enter your city: "); 
       city = scan.next(); 

       System.out.print("Enter your state: "); 
       state = scan.next(); 

       System.out.print("Enter your telephone number (no spaces): "); 
       teleNum = scan.next(); 

       System.out.print("Enter your zip code: "); 
       zip = scan.next(); 
+2

使用'scan.nextLine' – Abubakkar

+0

我喜歡使用的BufferedReader BR =新的BufferedReader(新的InputStreamReader(System.in)),但我真的不知道的優勢/劣勢/差異,這兩個方法。如果您正在使用緩衝讀取器,它是br.readLine –

+0

忘了提及我也試過nextLine沒有運氣..緩衝讀取器似乎是一個可行的選擇。 –

回答

1
String[] prompts = { 
     "Enter your city: ", 
     "Enter your state: ", 
    }; 

    Scanner scanner = new Scanner(System.in); 
    String line = ""; 
    for (String prompt : prompts) { 
     System.out.println(prompt); 
     if (scanner.hasNextLine()) { 
      line += scanner.nextLine(); 
     } 
    } 

    System.out.println(line); 
相關問題