Scanner物件
我們可以通過scanner來獲取使用者的輸入
基本語法
Scanner s = new Scanner(System.in);
nextLine():輸入
import java.util.Scanner;
public class hello {
public static void main(String[] args) {
//接收鍵盤資料
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine的方式來輸出:");
//判斷是否還有輸入
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("輸出的內容是:" + str);
}
scanner.close();//凡是屬於IO流的類 如果不關閉會一直佔用資源
}
}
- 以Enter為結束符,也就是說nextLine()方法返回的是輸入回車鍵之前所有的字元
- 可以獲得空白
next():輸入
import java.util.Scanner; //建立完Scanner後自動生成
public class hello {
public static void main(String[] args) {
//建立一個掃描器物件,用於接收鍵盤資料
Scanner scanner = new Scanner(System.in);//System.in是輸入
System.out.println("使用next來接收:");
//判斷使用者是否輸入字串
if (scanner.hasNext()) {
String str = scanner.next(); //使用next來接收
System.out.println("輸出的內容為:" + str);
scanner.close();//凡是屬於IO流的類 如果不關閉會一直佔用資源
}
}
}
- 一定要讀取到有效數字才可以1結束輸入
- 對輸入有效字元之前遇到空白,next()方法會自動將其去掉
- 只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符
- next()不能得到帶有空白的字串
關鍵語句
String str = scanner.next();//使用next來接收。
String str = scanner.nextLine();//使用nextLine來接收
判斷整數小數案例
import java.util.Scanner;
public class hello {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//從鍵盤接收資料
int i = 0;
float f = 0.01f;
System.out.println("請輸入整數:");
if (scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("整數資料:" + i);
}else {
System.out.println("你輸出的不是整數資料");
}
//——————————————————————————————————————————————————————
System.out.println("請輸入小數:");
if (scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("小數資料:" + f);
}else {
System.out.println("你輸出的不是小數資料");
}
scanner.close();
}
}
java求和,平均值
import java.util.Scanner;//載入Scanner
public class hello {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//獲取使用者輸入的資料
double sum = 0; //求和 用高精度的double來賦值
int n = 0; //計算輸入多少個數字
System.out.println("請輸入數字");
while (scanner.hasNextDouble()){ //迴圈語句
double x = scanner.nextDouble(); //獲取使用者輸入的數字並儲存在變數x中
n = n + 1; //給到n的初始值為0,因為我們要計算使用者輸入的數字,所以要+1
sum = sum + x; //sum的初始值為0,使用者輸入的數字都儲存在x變數中,因此要+x
}
System.out.println("第"+ n + "個數的和為:" + sum);
System.out.println("第" + n + "個數的平均值為:" + (sum / n ));
scanner.close();//結束scanner
}
}