java中輸入函式next的用法
阿新 • • 發佈:2018-12-20
用法
獲取控制檯輸入:
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過濾掉。