Java基礎-Scanner的HasNext,Next,HasNextLine,NextLine的區別


1、HasNext和HasNextLine會要求用戶在控制台輸入字符,然后回車,把字符存儲到Scanner對象中,不會賦值到變量中,可以用於判斷輸入的字符是否符合規則要求。

HasNext會以空格為結束標志,空格后的數字會拋棄掉。

HashNextLine會以Enter為結束標志

2、Next和NextLine是直接從Scanner中獲取HasNext和HasNextLine存儲起來的值給到變量中。如果前面沒有HasNext或者HashNextLine獲取值,也可以自己獲取用戶在控制台中輸入的字符。

3、建議先用HashNext或者HasNextLine獲取用戶在控制台要求輸入的字符。再用Next或NextLine從Scanner中獲取值到程序變量中。目的是做一重字符非法的判斷

1 public static void main(String[] args) {
2        Scanner scanner = new Scanner(System.in);
3
4       System.out.println("測試scanner方法的使用邏輯");
5        System.out.println("請輸入一個整數");
6
7       if(scanner.hasNextInt()){
8           System.out.println("進來了嗎");
9           int i=scanner.nextInt();
10           System.out.println("獲得輸入的數值是"+i);
11       }else{
12            System.out.println("不是整數");
13       }
14   }

解析1:第七行:如果用戶輸入是整型,會進入8行,第9行獲取的值是hasNextInt預先存儲到scanner的值

解析2:第七行:如果用戶輸入的不是整型,則會跳到12行中執行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM