java互動Scanner物件
阿新 • • 發佈:2022-01-02
java互動的Scanner物件
通過Scanner類的next()與nextLine()方法獲取輸入 字串,在讀取前一般使用hasNext()與hasNextLine()判斷是否含有輸入的資料
package com.yuanyu.study; import java.util.Scanner; public class Demo05 { 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); } // System.out.println("please input:"); // if (scanner.hasNextLine()){ // String str=scanner.nextLine(); // System.out.println("Your input is:"+str); scanner.close(); //屬於I/O的資源使用完關閉防止佔用 } }
next():
-
會自動去掉有效字元前的空格
-
只有輸入有效字元才能將其後輸入的空格作為分隔符或結束符
-
不能得到含有空格的字串
nextLine():
-
以Enter為結束符即返回回車前輸入的所有字元
-
可以獲取空格
Scanner也可以捕獲int、float、...等型別
package com.yuanyu.study; import java.util.Scanner; public class Demo05 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int i=0; float f=0.0f; 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(); } }
建議在新建程式結束後引入main()後第一步是寫好
Scanner scanner=new Scanner(System.in);
//程式碼塊
scanner.close();
java Scanner小作業
要求:輸入多個數字,求其總和與平均數,每輸入一個數字用回車確認,通過輸入非數字來結束輸入並輸出結果;
package com.yuanyu.study; import java.util.Scanner; public class Demo05 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("請輸入一組資料:"); double sum=0; //初始化資料總和為0; int n=0; //初始化資料個數為0; while (scanner.hasNextDouble()){ double d=scanner.nextDouble(); //用while迴圈判斷下一個是否為數字,若是數字則傳入d,若不是數字則迴圈結束; sum+=d; n++; System.out.println("第"+n+"個數的和為"+sum); } System.out.println("該資料的總和為:"+sum); System.out.println("該資料的平均數為:"+(sum/n)); scanner.close(); } }