使用Scanner類能夠很方便地便獲取用戶的鍵盤輸入,Scanner是一個基於正則表達式的文本掃描器,它能夠從文件、輸入流 、字符串中解析出基本類型值和字符串值。Scanner類提供了多個構造器,不一樣的構造器可接受文件、輸入流、字符串做爲數據,用於從文件、輸入流、字符串中解析數據。正則表達式
Scanner主要提供了兩個方法來掃描輸入:spa
(1) hasNextXxx():是否還有下一個輸入項,其中Xxx能夠是Int、Long等表明基本數據類型的字符串。若是須要判斷是否包含下一個字符串,能夠省略Xxx.code
(2) nextXxx():獲取下一個輸入項。Xxx的含義與前一個方法中Xxx相同。blog
在默認狀況下,Scanner使用空白(包括空格、Tab空白、回車)做爲多個輸入項之間的分隔符。看下面的程序使用Scanner來得到用戶的鍵盤輸入。字符串
public class TestScannerKeyBoard { public static void main(String[] args) { //System.in表明標準輸入,就是鍵盤輸入 Scanner sc=new Scanner(System.in); //Scanner使用useDelimiter(String pattern)方法設置分隔符。下面設置使用回車做爲分隔符, //程序每次讀取一行,無論這一行是否包含空格,Scanner都把它當成一個輸入項 //sc.useDelimiter("\n"); //判斷是否還有下一個輸入項 while(sc.hasNext()) { //輸出輸入項 System.out.println("鍵盤輸入內容是:"+sc.next()); } } }
運行上面程序,程序經過Scanner不斷從鍵盤讀取鍵盤輸入,每次讀到鍵盤輸入,直接將輸入內容打印在控制檯。
事實上,Scanner提供了兩個簡單的方法來逐行讀取:
(1) boolean hasNextLine():返回輸入源中是否還有下一行。
(2)String nextLine():返回輸入源中的下一行的字符串。
Scanner不只能夠獲取字符串輸入項,也能夠獲取任何類型的輸入項。