Scanner()類的使用

Scanner()類:

作用:起一個數據傳遞的作用,不用Scanner()時,數據需要在代碼中輸入(感覺跟靜態的方式一樣,數據值已經定義好了);使用了Scanner(),可以在控制檯中輸入數據(感覺變成了動態的方式)。
具體用法:Scanner sc = new Scanner(System.in);
然後sc對象(上面定義的對象)調用下列方法(函數),讀取用戶在命令行輸入的各種數據類型:hasnext.Byte(),hasnextDouble(),hasnextFloat(),hasnextInt(),hasnextLin(),hasnextLong(),hasnextShot() 
這些用來判斷輸入的數據是否符合定義的數據類型,符合true(數據輸入),不符合false(數據不執行任何輸入)
比如:hasnextInt(); 判斷輸入的是否爲整數,這時候如果不是整數,他就不會輸入這個數據。

例子:有N個人坐在一起,第一個人年齡爲10,後面人的年齡比前一個人大2歲,求第N個人的年齡是多少。

不使用scanner:
public class PersonAge {

	public static void main(String[] args) {
		int sum = 0;
		int n = 0;//輸入這個n表示的就是N個人,通過這裏輸入數據
		if (n > 0){
		for (int i = 0; i < n; i++) {
			sum = 10 + (n-1)*2;
		}
		System.out.println("第"+n+"個人的年齡爲:"+sum);
	}
		else{
			System.out.println("輸入的數字不符合要求!");
		}
		
		}
	}
使用scanner:
import java.util.Scanner;
public class PersonAgeScanner {

	public static void main(String[] args) {
		System.out.println("輸入人數n,按非數字鍵結束");//文字提示用戶輸入數據
		Scanner sc = new Scanner(System.in);		//使用scanner類
		int n = 0;					//屬性
		int sum = 0;
		while(sc.hasNextInt()){		     //定義的對象“.”(調用)hasNextInt()方法判斷輸入數據是否符合要求
			n = sc.nextInt();			//傳遞參數
			sum = 10 + (n-1)*2;			//程序
			System.out.println("第"+n+"個人的年齡爲:"+sum);
	}	
		}	
	}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章