Java 5新增了java.util.Scanner類,這是一個用於掃描輸入文字的新的實用程式。它是以前的StringTokenizer和Matcher類之間的某種結合。由於任何資料都必須通過同一模式的捕獲組檢索或通過使用一個索引來檢索文字的各個部分。於是可以結合使用正規表示式和從輸入流中檢索特定型別資料項的方法。這樣,除了能使用正規表示式之外,Scanner類還可以任意地對字串和基本型別(如int和double)的資料進行分析。藉助於Scanner,可以針對任何要處理的文字內容編寫自定義的語法分析器。
Scanner是SDK1.5新增的一個類,可使用該類建立一個物件。
Scanner使用方法:
Scanner reader=new Scanner(System.in);
然後reader物件呼叫下列方法(函式),讀取使用者在命令列輸入的各種資料型別
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()
判斷掃描器中當前掃描位置後是否還存在下一段。(原APIDoc的註釋很扯淡)
hasNextLine()
如果在此掃描器的輸入中存在另一行,則返回 true。
next()
查詢並返回來自此掃描器的下一個完整標記。
nextLine()
此掃描器執行當前行,並返回跳過的輸入資訊。
Scanner 取得使用者輸入的數字或字串 會根據空白鍵 tab鍵 跳下一個輸入 enter鍵表示輸入完成
Scanner是一種類別 要new一個物件出來
Scanner sc=new Scanner (System.in);
記得要import進來
import java.util.Scanner
nextInt() 取得使用者輸入或檔案內容中的整數
nextFloat() 取得使用者輸入或檔案內容中的浮點數
NextLine() 取得使用者輸入或檔案內容中的字串 包含空白鍵 tab等按鍵 enter表示輸入完成
next() 取得使用者輸入或檔案內容中的字串 不包含空白鍵 tab等按鍵