javaSE——Scanner用法
阿新 • • 發佈:2022-05-10
Scanner物件
- 用來獲取使用者輸入。
-
java.util.Scanner
是Java5的新特性 - 建立的基本語法:
Scanner scanner = new Scanner(System.in);
...
scanner.close();
-
通過Scanner類的
next()
與nextLine()
方法獲取輸入的字串- 在讀取前我們一般需要使用
hasNext()
與hasNextLine()
判斷是否還有輸入的資料。
- 在讀取前我們一般需要使用
-
next()
:- 一定要讀到有效字元後才可以結束輸入
- 一遇到空白符號就作為結束符
- next()不能得到帶有空格的字串
-
nextLine()
:-
以
Enter
-
可以獲得帶空白字元的字串
package com.kuang.scanner; import java.util.Scanner; public class Demo01 { public static void main(String[] args) { //建立一個掃描器物件,用於接收鍵盤資料 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:");//輸入hello world //判斷使用者有沒有輸入字串 //如果輸入了 if (scanner.hasNext()) { //使用next方式接收 String str = scanner.next(); System.out.println("輸出的內容為:" + str);//輸出hello } //凡是屬於IO流的類如果不關閉會一直佔用資源,要養成良好習慣用完關掉 scanner.close(); } }
package com.kuang.scanner; import java.util.Scanner; public class Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收:");//輸入hello world if (scanner.hasNext()) { String str = scanner.nextLine(); System.out.println("輸出的內容為:" + str);//輸出hello world } scanner.close(); } }
、、其實這個demo用不到if,前面寫上if也只是為了介紹下if這種判斷用法 package com.kuang.scanner; import java.util.Scanner; public class Demo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入:");//輸入hello world String str = scanner.nextLine(); System.out.println("輸出的內容為:" + str);//輸出hello world scanner.close(); } }
-
進階
package com.kuang.scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
//我們可以輸入多個數字,並求其總和與平均數,每輸入一個數字用回車確認;通過輸入非doble來結束輸入並輸出最終結果
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//計數器
int m = 0;
// 通過迴圈判斷是否還有輸入,並在裡面對每一次進行求和和展示
// 迴圈終止條件:沒有輸入double型別數字,比如'x'
while (scanner.hasNextDouble()) {
double x = scanner.nextDouble();
sum += x;
m++;
System.out.println("你輸入了第" + m + "個數據,當前結果sum=" + sum);
}
System.out.println(m + "個數的和為:" + sum);
System.out.println(m + "個數的平均值為:" + (sum / m));
scanner.close();
}
}