Java Scanner类的详细介绍(Java键盘输入)
生活随笔
收集整理的這篇文章主要介紹了
Java Scanner类的详细介绍(Java键盘输入)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java Scanner類的詳細介紹(Java鍵盤輸入)
- 一、Scanner類的簡單使用
- 二、Scanner類的詳細介紹
- 1.判斷輸入數據類型
- 2.next()與nextLine()的區別
- 3.求多個數字的平均數
一、Scanner類的簡單使用
Scanner類的功能,實現鍵盤輸入數據
創建Scanner對象的基本語法:
Scanner sc = new Scanner(System.in); //System.in代表從鍵盤輸入簡單使用
//由于Scanner類沒有在java.lang包下,使用之前需要導包 import java.util.Scanner;public class ScannerTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("請輸入一個int類型的數字:");int i = sc.nextInt();System.out.println("輸入的數據為:"+i);System.out.println("請輸入一個double類型的數字:");double d = sc.nextDouble();System.out.println("輸入的數據為:"+d);System.out.println("請輸入一個字符串:");String str = sc.next();System.out.println("輸入的數據為:"+str);System.out.println("請輸入一個布爾值:");boolean b = sc.nextBoolean();System.out.println("輸入的數據為:"+b);} }程序運行結果:
【tips】
因為輸入的數據已經賦值給變量了,所以可以對變量進行隨意使用了。
使用Scanner類計算長方體的表面積與體積
二、Scanner類的詳細介紹
1.判斷輸入數據類型
import java.util.Scanner;public class ScannerJudge {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("請輸入:");//驗證輸入的數據類型if(sc.hasNextInt()) {int i = sc.nextInt();System.out.println("輸入的數據類型為int,值為:"+i);} else if(sc.hasNextDouble()) {double d = sc.nextDouble();System.out.println("輸入的數據類型為double,值為:"+d);} else if(sc.hasNextBoolean()) {boolean b = sc.nextBoolean();System.out.println("輸入的數據類型為boolean,值為:"+b);} else if(sc.hasNext()) {String str = sc.next();System.out.println("輸入的數據類型為String,值為:"+str);}else {System.out.println("其他數據類型!");}sc.close();} }2.next()與nextLine()的區別
next():
1、一定要讀取到有效字符后才可以結束輸入。
2、對輸入有效字符之前遇到的空白,next() 方法會自動將其去掉。
3、只有輸入有效字符后才將其后面輸入的空白作為分隔符或者結束符。
4、next()只能得到空格前的字符串,空格后的無法獲取。
nextLine():
1、以Enter為結束符,也就是說 nextLine()方法返回的是輸入回車之前的所有字符。
2、可以獲得空白。
對比兩個方法的運行結果
import java.util.Scanner;public class ScannerNextAndNextLine {public static void main(String[] args) {next();System.out.println("==============");nextLine();}//next方式接收數據public static void next(){Scanner sc = new Scanner(System.in);System.out.println("輸入數據:(next方式接收)");if (sc.hasNext()){String str = sc.next();System.out.println("輸入的數據類型為String,值為:"+str);}}//nextLine方式接收數據public static void nextLine(){Scanner sc = new Scanner(System.in);System.out.println("輸入數據:(nextLine方式接收)");if (sc.hasNextLine()){String str = sc.nextLine();System.out.println("輸入的數據類型為String,值為:"+str);}} }執行結果為:
對于兩個方法同樣都是都輸入Hello Scanner!
next()只接收到了Hello,Scanner!被自動刪掉
而nextLine()將Hello Scanner!全部接收
3.求多個數字的平均數
案例分析:
輸入多個數字,并求其總和與平均數
每輸入一個數字用回車確認
通過輸入非數字來結束輸入并輸出執行結果
代碼實現:
import java.util.Scanner;public class ScannerSum {public static void main(String[] args) {Scanner sc = new Scanner(System.in);double sum = 0;int m = 0;System.out.print("請開始輸入數據:"+'\n'+"+");while (sc.hasNextDouble()) {double x = sc.nextDouble();m = m + 1;sum = sum + x;System.out.print("+");}System.out.println(m + "個數的和為" + sum);System.out.println(m + "個數的平均值是" + (sum / m));sc.close();}}總結
以上是生活随笔為你收集整理的Java Scanner类的详细介绍(Java键盘输入)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [python][mediapipe]摄
- 下一篇: 社交新零售崛起将是未来的最大风口