Java學習 使用者互動 Scanner

小白_安發表於2024-03-17

Scanner 是Java5提供的新特性 可以用來獲取使用者的輸入 需要引入import java.util.Scanner;類
基礎語法: Scanner scanner = new Scanner(System.in);
可以透過Scanner類的next()和nextLine()來獲取輸入的字串一般在輸入前使用 hasnext()和 hasNextLine()用來判斷是否有輸入的資料
next()與nextLine()區別:
① next():對輸入有效字元後的空白next()方法會自動將其去掉 next()不能得到帶有空格的字串
package Scanner; import java.util.Scanner; public class Demo01 { public static void main(String[] args) { // 建立一個物件使用者獲取輸入 Scanner scanner = new Scanner(System.in); System.out.println("獲取next"); // 判斷有沒有輸入 if(scanner.hasNext()){ String str =scanner.next(); System.out.println("輸入為:"+str); } } }
結果:
輸入
hello word
獲取輸入hello
② nextLine():以回車作為結束符 nextLine()獲取的是輸入回車符之前的所有字元 可以獲得空白
`package Scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
// 建立類來獲取使用者輸入
Scanner scanner = new Scanner(System.in);
System.out.println("輸入");
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("獲取輸入"+str);
}
}

}
`
結果:
輸入
hello word
獲取輸入hello word
另外Scanner 還存在輸入hasNextFloat()小數 hasNextInt()整數 hasNextBoolen布林值等型別

小案例: 輸入資料求輸入資料的和數求平均值 輸入數字以外的資料來結束輸入並輸入結果
`package Scanner;

import java.util.Scanner;

public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i =0;
double sum =0;
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
i = i+1;
sum =sum+x;
System.out.println("你輸入了第"+i+"個資料,結果為"+sum);
}
System.out.println("總和為:"+i);
System.out.println("平均值為:"+(sum)/i);
}
}
`
結果為:
10
你輸入了第1個資料,結果為10.0
20
你輸入了第2個資料,結果為30.0
40
你輸入了第3個資料,結果為70.0
z
總和為:3
平均值為:23.333333333333332

小白學習 如有其他意見 希望大家多多提出 謝謝

相關文章