回覆列表
-
1 # FFgaming
-
2 # 荔枝樹上的獅子王
掃描控制檯輸入當透過new Scanner(System.in)建立一個Scanner,控制檯會一直等待輸入,直到敲回車鍵結束,把所輸入的內容傳給Scanner,作為掃描物件。如果要獲取輸入的內容,則只需要呼叫Scanner的nextLine()方法即可。/** * 掃描控制檯輸入 * * @author leizhimin 2009-7-24 11:24:47 */ public class TestScanner { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("請輸入字串:"); while (true) { String line = s.nextLine(); if (line.equals("exit")) break; System.out.println(">>>" + line); } } }請輸入字串: 234 >>>234 wer >>>wer bye >>>bye exit Process finished with exit code 0
Scanner是SDK1.5新增的一個類,可使用該類建立一個物件。舉一個實際的例子,具體內容如下:
Scanner Sc=new Scanner(System.in);
然後Sc物件呼叫下列方法(函式),讀取使用者在命令列輸入的各種資料型別: next.Byte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot() 。
這些方法執行時都會造成堵塞,等待使用者在命令列輸入資料回車確認。
例如,擁護在鍵盤輸入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false。NextLine()等待使用者輸入一個文字行並且回車,該方法得到一個String型別的資料。
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
上述方法執行時都會造成堵塞,等待使用者在命令列輸入資料回車確認.例如,擁護在鍵盤輸入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false。NextLine()等待使用者輸入一個文字行並且回車,該方法得到一個String型別的資料。
資料拓展:
Scanner的構造器支援多種方式,可以從字串(Readable)、輸入流、檔案等等來直接構建Scanner物件,有了Scanner了,就可以逐段(根據正則分隔式)來掃描整個文字,並對掃描後的結果做想要的處理。
下面是一些API函式的用法:
delimiter():
返回此 Scanner 當前正在用於匹配分隔符的 Pattern。
hasNext() :
判斷掃描器中當前掃描位置後是否還存在下一段。
hasNextLine() :
如果在此掃描器的輸入中存在另一行,則返回 true。
next() :
查詢並返回來自此掃描器的下一個完整標記。
nextLine() :
此掃描器執行當前行,並返回跳過的輸入資訊。
以上就是全部的示例內容,自身的水平有限,如果有遺漏或者錯誤請大家指正糾錯。