Java如何實現鍵盤輸入?使用Scanner類使用方法解析。

爲什麼需要鍵盤錄入數據?
  我們書寫程序時候,數據是固定不變的,但是在開發當中,數據肯定是動態的而不是固定的,所以我們需要把固定的數據更改爲鍵盤錄入。

如何使用Scanner鍵盤錄入對象
   1、導包
   在class修飾的類名上面加入如下語句
   import java.util.Scanner;
   2、創建對象
  Scanner input = new Scanner(System.in);
   3、使用變量接收數據
   int num = input.nextInt();

注意:
1.常用方法
nextInt(); 獲取用戶輸入的整數
nextDouble(); 獲取用戶輸入的小數
nextBoolean(); 獲取用戶輸入的boolean值 【不常用】
nextLine(); 獲取用戶輸入的一行,結果是String類型,獲取用戶輸入的字符串
next(); 結果是String類型,獲取用戶輸入的字符串
這些方法都是阻塞方法

2.阻塞方法
什麼是阻塞方法?===> 程序執行到這個方法的時候,會停止執行,並不會繼續執行,直到用戶輸入結束,程序繼續執行。

3.可能出現的異常
java.util.InputMismatchException
  異常名稱: 輸入的類型不匹配異常
   產生原因: 用戶輸入的類型和接收的類型不一致
  解決辦法: 類型匹配即可

代碼示例

mport java.util.Scanner;
public class ScannerDemo {
	public static void main(String[] args) {
		// 2.創建鍵盤輸入對象 固定格式
		Scanner input = new Scanner(System.in);
		// 給出用戶提示性語句
		System.out.print("請輸入一行字符串: ");
		// 3.獲取用戶的輸入 
		String line = input.nextLine();
		System.out.println("您輸入的數據是: " + line);
		
		System.out.print("請輸入整數: ");
		int num = input.nextInt();
		System.out.println("您輸入的整數是: " + num);
	
		System.out.print("請輸入小數: ");
		double num2 = input.nextDouble();
		System.out.println("您輸入的小數是: " + num);
		
	}
}

鍵盤錄入兩個數,並將這兩個數求和,求最大值,並輸出

// 1.導包
import java.util.Scanner;
public class ScannerDemo02 {
	public static void main(String[] args) {
		// 2.創建鍵盤輸入對象
		Scanner input = new Scanner(System.in);
		System.out.print("請輸入第一個數: ");
		// 3.定義變量num1 接受用戶輸入的整數
		int num1 = input.nextInt();
		System.out.print("請輸入第二個數: ");
		// 4.定義變量num2 接受用戶輸入的整數
		int num2 = input.nextInt();
		// 5.定義變量sum 計算兩個數的和
		int sum = num1 + num2;
		// 6.定義變量max 求兩個數的最大值
		int max = (num1 > num2) ? num1: num2;
		// 7.輸出和以及最大值
		System.out.println("兩個數的和爲: " + sum + ",兩個數的最大值爲: " + max);
	}
}

鍵盤錄入兩個數,並判斷兩個數是否相等,如果兩個數相等,輸出兩個數相等,不相等就輸出兩個數不相等,同時輸出兩個數中較大的值

import java.util.Scanner;
public class ScannerDemo03 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("請輸入第一個數: ");
		int num1 = input.nextInt();
		System.out.print("請輸入第二個數: ");
		int num2 = input.nextInt();
		
		// 三目運算符的值的類型?
		// int max = (num1 > num2) ? num1: num2;
		String result = (num1 == num2) ? "兩個數相等": "兩個數不相等,並且兩個數中較大的值爲: " + ((num1 > num2) ? num1: num2);
		System.out.println(result);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章