Scanner 類(lèi)怎么在Java 中使用?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、伊寧ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的伊寧網(wǎng)站制作公司
通過(guò) Scanner 類(lèi)來(lái)獲取用戶(hù)的輸入,下面是創(chuàng)建 Scanner 對(duì)象的基本語(yǔ)法:
Scanner s = new Scanner(System.in); // 從鍵盤(pán)接收數(shù)據(jù)
接下來(lái)我們演示一個(gè)最簡(jiǎn)單的數(shù)據(jù)輸入,并通過(guò) Scanner 類(lèi)的 next() 與 nextLine() 方法獲取輸入的字符串,在讀取前我們一般需要 使用 hasNext 與 hasNextLine 判斷是否還有輸入的數(shù)據(jù):
next() 與 nextLine() 區(qū)別
next()的使用方法演示:
import java.util.Scanner; public class scannertest { public static void main(String[] args) { Scanner s = new Scanner(System.in); // 從鍵盤(pán)接收數(shù)據(jù) // next方式接收字符串 System.out.println("next方式接收:"); // 判斷是否還有輸入 if (s.hasNext()) { String str1 = s.next(); System.out.println("輸入的數(shù)據(jù)為:" + str1); } s.close(); } }
next方式接收:
hello world
輸入的數(shù)據(jù)為:hello
由結(jié)果可知:
1、一定要讀取到有效字符后才可以結(jié)束輸入。
2、對(duì)輸入有效字符之前遇到的空白,next() 方法會(huì)自動(dòng)將其去掉。
3、只有輸入有效字符后才將其后面輸入的空白作為分隔符或者結(jié)束符。
next() 不能得到帶有空格的字符串。
nextLine()的使用方法演示:
import java.util.Scanner; public class scannertest2 { public static void main(String[] args) { Scanner s = new Scanner(System.in); // 從鍵盤(pán)接收數(shù)據(jù) // next方式接收字符串 System.out.println("nextLine方式接收:"); // 判斷是否還有輸入 if (s.hasNextLine()) { String str2 = s.nextLine(); System.out.println("輸入的數(shù)據(jù)為:" + str2); } s.close(); } }
nextLine方式接收:
hello world 2018
輸入的數(shù)據(jù)為:hello world 2018
由上面可以看出,nextLine()方法具有以下特點(diǎn):
1、以Enter為結(jié)束符,也就是說(shuō) nextLine()方法返回的是輸入回車(chē)之前的所有字符;
2、可以獲得空白,都會(huì)讀入,空格等均會(huì)被識(shí)別;
注意:如果要輸入 int 或 float 類(lèi)型的數(shù)據(jù),在 Scanner 類(lèi)中也有支持,但是在輸入之前最好先使用 hasNextXxx() 方法進(jìn)行驗(yàn)證,再使用 nextXxx() 來(lái)讀取,下面實(shí)現(xiàn)的功能是可以輸入多個(gè)數(shù)字,并求其總和與平均數(shù),每輸入一個(gè)數(shù)字用回車(chē)確認(rèn),通過(guò)輸入非數(shù)字來(lái)結(jié)束輸入并輸出執(zhí)行結(jié)果
import java.util.Scanner; public class scandemo { public static void main(String[] args) { System.out.println("請(qǐng)輸入數(shù)字:"); 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 + "個(gè)數(shù)的和為" + sum); System.out.println(m + "個(gè)數(shù)的平均值是" + (sum / m)); scan.close(); } }
請(qǐng)輸入數(shù)字:
20.0
30.0
40.0
end
3個(gè)數(shù)的和為90.0
3個(gè)數(shù)的平均值是30.0
看完上述內(nèi)容,你們掌握Scanner 類(lèi)怎么在Java 中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享文章:Scanner類(lèi)怎么在Java中使用
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article0/ieojio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、微信小程序、網(wǎng)站設(shè)計(jì)公司、網(wǎng)頁(yè)設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)