不同的java版本,在使用的特性上會有所區別。例如java中的Scanner是之前版本中鎖定沒有的,專門用來取得輸入的資料。這裡就不得不提到常用的字串輸入了,在Scanner類別中有兩種方法可以實現:next和nextLine。接下來我們就這兩種取得字串的方法分別帶來詳解。
1.next 方法
輸入的有效字元後面有空格,next() 會將空格當作結束符號。因此,如果輸入的字串中間部分有空格,則使用next方法是無法得到完整的字串的。
import java.util.Scanner; public class TestScanner1 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 從鍵盤接收資料 System.out.println("next方式接收:"); // 判斷是否還有輸入 if (scan.hasNext()) { // next方式接收字串 String str1 = scan.next(); System.out.println("輸入的資料為:" + str1); } } }
可以看到java 字串並未輸出。
2.nextLine方法
nextLine() 則以Enter為結束符,也就是說,nextLine()方法傳回的是輸入回車之前的所有字元。
import java.util.Scanner; public class TestScanner2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // nextLine方式接收字串 System.out.println("nextLine方式接收:"); // 判斷是否還有輸入 if (scan.hasNextLine()) { // 從鍵盤接收資料 String str2 = scan.nextLine(); System.out.println("輸入的資料為:" + str2); } } }
以上就是java中Scanner類別取得字串的方法,看完文章會發現,next取得的是部分字串,而nextLine輸出的是回車前的字元內容,大家要注意最後結果輸出的狀況。