Scanner 類怎么在Java 中使用?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創(chuàng)新互聯(lián)公司是一家集網站建設,眉山企業(yè)網站建設,眉山品牌網站建設,網站定制,眉山網站建設報價,網絡營銷,網絡優(yōu)化,眉山網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。通過 Scanner 類來獲取用戶的輸入,下面是創(chuàng)建 Scanner 對象的基本語法:
Scanner s = new Scanner(System.in); // 從鍵盤接收數據
接下來我們演示一個最簡單的數據輸入,并通過 Scanner 類的 next() 與 nextLine() 方法獲取輸入的字符串,在讀取前我們一般需要 使用 hasNext 與 hasNextLine 判斷是否還有輸入的數據:
next() 與 nextLine() 區(qū)別
next()的使用方法演示:
import java.util.Scanner; public class scannertest { public static void main(String[] args) { Scanner s = new Scanner(System.in); // 從鍵盤接收數據 // next方式接收字符串 System.out.println("next方式接收:"); // 判斷是否還有輸入 if (s.hasNext()) { String str1 = s.next(); System.out.println("輸入的數據為:" + str1); } s.close(); } }
next方式接收:
hello world
輸入的數據為:hello
由結果可知:
1、一定要讀取到有效字符后才可以結束輸入。
2、對輸入有效字符之前遇到的空白,next() 方法會自動將其去掉。
3、只有輸入有效字符后才將其后面輸入的空白作為分隔符或者結束符。
next() 不能得到帶有空格的字符串。
nextLine()的使用方法演示:
import java.util.Scanner; public class scannertest2 { public static void main(String[] args) { Scanner s = new Scanner(System.in); // 從鍵盤接收數據 // next方式接收字符串 System.out.println("nextLine方式接收:"); // 判斷是否還有輸入 if (s.hasNextLine()) { String str2 = s.nextLine(); System.out.println("輸入的數據為:" + str2); } s.close(); } }
nextLine方式接收:
hello world 2018
輸入的數據為:hello world 2018
由上面可以看出,nextLine()方法具有以下特點:
1、以Enter為結束符,也就是說 nextLine()方法返回的是輸入回車之前的所有字符;
2、可以獲得空白,都會讀入,空格等均會被識別;
注意:如果要輸入 int 或 float 類型的數據,在 Scanner 類中也有支持,但是在輸入之前最好先使用 hasNextXxx() 方法進行驗證,再使用 nextXxx() 來讀取,下面實現的功能是可以輸入多個數字,并求其總和與平均數,每輸入一個數字用回車確認,通過輸入非數字來結束輸入并輸出執(zhí)行結果
import java.util.Scanner; public class scandemo { public static void main(String[] args) { System.out.println("請輸入數字:"); Scanner scan = new Scanner(System.in); double sum = 0; int m = 0; while (scan.hasNextDouble()) { double x = scan.nextDouble(); m = m + 1; sum = sum + x; } System.out.println(m + "個數的和為" + sum); System.out.println(m + "個數的平均值是" + (sum / m)); scan.close(); } }
請輸入數字:
20.0
30.0
40.0
end
3個數的和為90.0
3個數的平均值是30.0
看完上述內容,你們掌握Scanner 類怎么在Java 中使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!