這篇文章主要介紹了Java中怎么使用Scanner類,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為雙陽企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計,雙陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
Scanner類用于獲取鍵盤輸入(是一個基于正則表達(dá)式的文本掃描器),它可以從文件、字符串、輸入流中解析出基本類型值和字符串值。Scanner類提供了多個構(gòu)造器,不同的構(gòu)造器可以接收文件、字符串和輸入流作為數(shù)據(jù)源,用于從文件、字符串和輸入流中解析數(shù)據(jù)。
Scanner類主要提供了兩個方法來掃描輸入:
hasNextXx():是否還有下一個輸入項,其中Xxx可以是Int、Long等代表基本數(shù)據(jù)類型的字符串。如果只是判斷是否包含下一個字符串,則直接使用hasNext()。
nextXxx():獲取下一個輸入項。Xxx的含義同上。
默認(rèn)情況下,Scanner使用空白(包括空格、Tab空白和回車)作為多個輸入項的分隔符。
下面程序使用Scanner來獲得用戶的鍵盤輸入:
public class Test{ public static void main(String[] args){ //System.in代表鍵盤輸入 Scanner sc = new Scanner(System.in); //下面這行代碼是把回車作為分隔符 sc.useDelimiter("n"); //判斷是否還有下一個輸入項 while(sc.hasNext()){ //輸出輸入項 System.out.println("鍵盤輸入的內(nèi)容是:"+sc.next()); } } }
運行上面的程序,程序會通過Scanner不斷的從鍵盤讀取鍵盤輸入,然后打印到控制臺,程序運行效果如下:
java
鍵盤輸入的內(nèi)容是:java
c++
鍵盤輸入的內(nèi)容是:c++
html
鍵盤輸入的內(nèi)容是:html
為Scanner設(shè)置分隔符使用 useDelimiter(String pattern)方法即可,該方法的參數(shù)是一個正則表達(dá)式(后面發(fā)布內(nèi)容會介紹到),如果把上面程序這一行sc.useDelimiter("\n")注釋掉,該程序就會把鍵盤的每行輸入當(dāng)成一個輸入項,不會以空格、Tab空白或回車等作為分隔符。
其實,Scanner提供了兩個簡單的逐行讀取的方法:
boolean hasNextLine():返回輸入源中是否還有下一行。 String nextLine():返回輸入源中下一行的字符串。 Scanner除了可以獲取字符串輸入項之外,還可以獲取任意基本類型的輸入項,如下程序: public class Test{ public static void main(String[] args){ //System.in代表鍵盤輸入 Scanner sc = new Scanner(System.in); //判斷是否還有下一個long型整數(shù) while(sc.hasNextlong()){ //輸出輸入項 System.out.println("鍵盤輸入的內(nèi)容是:"+sc.nextlong()); } } }
上面程序通過hasNextLong()和nextLong()兩個方法可以直接獲取輸入的Long型整數(shù),如果需要獲取其它基本類型的輸入項,則可以用相同的方法。
Scanner除了能讀取鍵盤輸入外,還可以讀取文件輸入。只要在創(chuàng)建Scanner對象時傳入一個File對象作為參數(shù)即可,例如下面的示例:
public class Test{ public static void main(String[] args) throws Exception{ //Scanner讀取文件內(nèi)容:將一個File對象作為Scanner的構(gòu)造器參數(shù) Scanner sc = new Scanner(new File("Test.java")); System.out.println("Test.java文件內(nèi)容如下:"); //判斷是否還有下一行 while(sc.hasNextLine()){ //輸出文件的下一行 System.out.println(sc.nextLine()); } } }
上面程序因為涉及IO讀取,可能引發(fā)IO異常,所以程序聲明throws Exception表明main方法不處理任何異常。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Java中怎么使用Scanner類”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
文章題目:Java中怎么使用Scanner類
文章鏈接:http://chinadenli.net/article6/ghocig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、動態(tài)網(wǎng)站、App開發(fā)、品牌網(wǎng)站設(shè)計、搜索引擎優(yōu)化、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)