學習Demo:Demo1
Scanner類:Java的輸入類
Scanner類既可以讀字符,也可以讀字符串和整數
碼上行動:Demo1
import java.util.Scanner; /** * Java的輸入類 * Scanner類既可以讀字符,也可以讀字符串和整數 * @Author Hateyes * @Date 2020-07-25 10:37 */ public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入您的姓名:"); String name = scanner.nextLine(); System.out.println("請輸入您的年齡:"); int age = scanner.nextInt(); System.out.println("請輸入您的工資:"); float salary = scanner.nextFloat(); System.out.println("您的信息如下:"); System.out.println("姓名:" + name + "\n" + "年齡:" + age + "\n" + "工資:" + salary); // '\n'為換行 '\r'為回車 '\t'為制表符(tab) '\f'為換頁 } }
學習Demo:Demo2
Scanner 掃描器:java.util.Scanner
-
Scanner.next() 方法獲取輸入的字符串
-
Scanner.hasNext() 方法判斷是否還有輸入的數據
注意:
-
一定要讀取到有效字符后才可以結束輸入。
-
對輸入有效字符之前遇到的空白,next() 方法會自動將其去掉。
-
只有輸入有效字符后才將其后面輸入的空白作為分隔符或者結束符。
-
next() 不能得到帶有空格的字符串。
碼上行動:Demo2
package Scanner; import java.util.Scanner; /** * Scanner 掃描器 * java.util.Scanner * Scanner.next() 方法獲取輸入的字符串 * Scanner.hasNext() 方法判斷是否還有輸入的數據 * 注意: * 1、一定要讀取到有效字符后才可以結束輸入。 * 2、對輸入有效字符之前遇到的空白,next() 方法會自動將其去掉。 * 3、只有輸入有效字符后才將其后面輸入的空白作為分隔符或者結束符。 * 4、next() 不能得到帶有空格的字符串。 */ public class Demo1 { public static void main(String[] args) { //創建掃描器對象,用於接收鍵盤數據 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判斷用戶有沒有輸入字符串 if (scanner.hasNext()){ //使用next方式接收 String str = scanner.next(); System.out.println("輸出內容為:" + str); } //關閉掃描器 scanner.close(); } }
學習Demo:Demo3
Scanner 掃描器:java.util.Scanner
-
Scanner.nextLine() 方法獲取輸入的字符串
-
Scanner.hasNextLine() 方法判斷是否還有輸入的數據
注意:
-
以Enter為結束符,也就是說 nextLine()方法返回的是輸入回車之前的所有字符。
-
可以獲得空白。
碼上行動:Demo3
package Scanner; import java.util.Scanner; /** * Scanner 掃描器 * java.util.Scanner * Scanner.nextLine() 方法獲取輸入的字符串 * Scanner.hasNextLine() 方法判斷是否還有輸入的數據 * 注意: * 1、以Enter為結束符,也就是說 nextLine()方法返回的是輸入回車之前的所有字符。 * 2、可以獲得空白。 */ public class Demo2 { public static void main(String[] args) { //創建一個掃描器對象,用於接收鍵盤數據 Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收:"); //判斷用戶有沒有輸入字符串 if(scanner.hasNextLine()){ //使用nextLine方式接收 String str = scanner.nextLine(); System.out.println("輸出的內容為:" + str); } //凡是屬於IO流的類如果不關閉會一直占用資源,要養成好習慣用完就關掉 scanner.close(); } }
package Scanner; import java.util.Scanner; public class Demo3 { public static void main(String[] args) { //從鍵盤接收數據 Scanner scanner = new Scanner(System.in); System.out.println("請輸入數據:"); String str = scanner.nextLine(); System.out.println("輸出的內容為:" + str); scanner.close(); } }
學習Demo:Demo4
Scanner 掃描器:java.util.Scanner
-
Scanner.nextInt() 方法獲取輸入的整數
-
Scanner.hasNextInt() 方法判斷是否還有輸入的整數數據
-
Scanner.nextFloat() 方法獲取輸入的(float型))小數
-
Scanner.hasNextFloat() 方法判斷是否還有輸入的(float型)小數數據
碼上行動:Demo4
package Scanner; import java.util.Scanner; /** * Scanner 掃描器 * java.util.Scanner * Scanner.nextInt() 方法獲取輸入的整數 * Scanner.hasNextInt() 方法判斷是否還有輸入的整數數據 * Scanner.nextFloat() 方法獲取輸入的(float型)小數 * Scanner.hasNextFloat() 方法判斷是否還有輸入的(float型)小數數據 */ public class Demo4 { 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(); } }
學習Demo:Demo5
Scanner 掃描器:java.util.Scanner
-
Scanner.nextDouble() 方法獲取輸入的(double型)小數
-
Scanner.hasNextDouble() 方法判斷是否還有輸入的(double型)小數數據
注意:java的控制台輸入由System.in完成。
碼上行動:Demo5
package Scanner; import java.util.Scanner; /** * Scanner 掃描器 * java.util.Scanner * Scanner.nextDouble() 方法獲取輸入的(double型)小數 * Scanner.hasNextDouble() 方法判斷是否還有輸入的(double型)小數數據 * 注意:java的控制台輸入由System.in完成。 */ public class Demo5 { public static void main(String[] args) { //輸入多個數字,求和與平均數,每輸入一個數用回車確認,通過輸入非數字來結束輸入並輸出執行結果 Scanner scanner = new Scanner(System.in); //和 double sum = 0; //計算輸入了多少個數字 int m = 0; //通過循環判斷是否還有輸入,並在里面對每一次進行求和和統計 while (scanner.hasNextDouble()){ double x = scanner.nextDouble(); m = m + 1; //m++; sum = sum + x; System.out.println("你輸入了第" + m + "個數據,當前結果 sum = " + sum); } System.out.println(m + "個數的和為:" + sum); System.out.println(m + "個數的平均值為:" + (sum / m)); scanner.close(); } }