java.util.Scanner類的基本使用

java.util.Scanner 是 Java5 的新特征,我們可以通過 Scanner 類來獲取用戶的輸入。

下面是創(chuàng)建 Scanner 對象的基本語法:

Scanner scanner=newScanner(System.in);

接下來我們演示一個最簡單的字符串輸入,并通過 Scanner 類的 next() 與 nextLine() 方法獲取輸入的字符串:

//創(chuàng)建Scanner對象Scanner scanner=newScanner(System.in);System.out.print("使用next()方法接收用戶的輸入:");String str=scanner.next();System.out.println("用戶輸入的字符串為:"+str);//關閉Scanner對象scanner.close();

輸出結果:

輸入的三個字符串神仙、妖怪、謝謝 使用空格分隔,我們發(fā)現(xiàn)只輸出了第一個詞:神仙

下面使用nextLine()方法試試:

//創(chuàng)建Scanner對象Scanner scanner=newScanner(System.in);System.out.println("使用nextLine()方法接收用戶的輸入:");String str=scanner.nextLine();System.out.println("用戶輸入的字符串為:"+str);//關閉Scanner對象scanner.close();

輸出結果變成了:

下面簡單總結下next() 與 nextLine() 區(qū)別

next():

1、如果用戶只輸入一個回車,程序會等待繼續(xù)輸入,要讀取到有效字符后才可以結束輸入;

2、next()方法會自動去除有效字符前的空白(空白符/回車符等)

3、只有輸入有效字符后才將其后面輸入的空白作為分隔符或者結束符。

next() 不能得到帶有空格的字符串。

nextLine():

1、以Enter為結束符,也就是說 nextLine()方法返回的是輸入回車之前的所有字符。

2、可以獲得空白

如果要輸入 int 或 float 類型的數(shù)據(jù),在 Scanner 類中也有支持,但是在輸入之前最好先使用 hasNextXxx() 方法進行驗證,再使用 nextXxx() 來讀?。?/p>

Scanner scanner=newScanner(System.in);//接收從鍵盤輸入的數(shù)據(jù):intintNum=0;floatfloatNum=0.0f;System.out.print("接收用戶輸入的整數(shù):");if(scanner.hasNextInt()){// 判斷輸入的是否是整數(shù)intNum=scanner.nextInt();// 接收整數(shù)System.out.println("用戶輸入的整數(shù)是:"+intNum);}else{// 輸入錯誤的信息System.out.println("輸入的不是整數(shù)!");}System.out.print("接收用戶輸入的小數(shù):");if(scanner.hasNextFloat()){// 判斷輸入的是否是小數(shù)floatNum=scanner.nextFloat();// 接收小數(shù)System.out.println("用戶輸入的小數(shù)是:"+floatNum);}else{// 輸入錯誤的信息System.out.println("輸入的不是小數(shù)!");}scanner.close();

如果配上while循環(huán),還可以實現(xiàn)循環(huán)驗證直到輸入正確的功能:

Scanner input=newScanner(System.in);intnum;System.out.println("請輸入一個整型數(shù)字:");while(!input.hasNextInt()){System.out.println("輸入的不是整型,請重新輸入:");//hasNextInt判斷不是整型后,緩存中還是存在用戶輸入的內容//如果再次使用hasNext..判斷,仍然會得出不是整型的結果//所以在這里單獨使用input.next(),以便將緩存清除掉input.next();}num=input.nextInt();System.out.println("輸入的整型數(shù)字是:"+num);


老九學堂出品,轉載請私信哦

對于文章內容有不理解的可以添加老九君個人QQ:614940318,請備注來自簡書

老九學堂免費C、C++、Java課程地址:

https://study.163.com/courses-search?keyword=%E8%80%81%E4%B9%9D%E5%AD%A6%E5%A0%82

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容