1. 程式人生 > >java中輸入函式next的用法

java中輸入函式next的用法

用法

獲取控制檯輸入:

Scanner in = new Scanner(System.in);

輸入整數: int a = in.nextInt(); 或者 double a = in.nextDouble;

輸入字串: String str = in.next(); 或者 String str = in.nextLine();

區別

next()、nextInt()等和nextLine()的區別: next()、nextInt()等:

這些方法遇見第一個有效字元(非空格,非換行符)時,開始掃描,當遇見第一個分隔符或結束符(空格,Tab,Enter)時,結束掃描,獲取掃描到的內容,即獲得第一個掃描到的不含空格、換行符的單個字串。

而且!!焦點不會移動到下一行,仍然處在這一行上。

nextLine():

可以掃描到一行內容並作為一個字串而被獲取到。(讀取一行,會讀取空格,只認enter)

當使用nextLine()方法時會讀取該行從前到的所有的內容,包括空格,然後把焦點移動到下一行的開頭。

nextInt()與nextLine()方法連用時問題(發現輸入總是少一行):

問題分析:

nextLine()會把nextInt(),next(),nextDouble(),nextFloat()的結束換行符作為字串讀入,進而不需要從鍵盤輸入字串nextLine便已經轉向了下一條語句執行。

解決辦法: 在每一個nextInt(),next(),nextDouble(),nextFloat()後都加一個nextLine()語句,將被next()去掉的Enter過濾掉。