日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Scanner类的详细介绍(Java键盘输入)

發布時間:2024/1/18 java 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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類計算長方體的表面積與體積

import java.util.Scanner;public class SurfaceAndVolume {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("請輸入長方體的長:");double l = sc.nextDouble();System.out.println("請輸入長方體的寬:");double w = sc.nextDouble();System.out.println("請輸入長方體的高:");double h = sc.nextDouble();surface(l,w,h);volume(l,w,h);}public static void surface(double l,double w,double h){double s = (l*w+l*h+w*h)*2;System.out.println("長方體的表面積為:"+s);}public static void volume(double l,double w,double h){double v = l*w*h;System.out.println("長方體的體積為:"+v);} }

二、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键盘输入)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。