天天看點

JavaSE學習(9):常見類之Scanner詳解

1.概述

    用于鍵盤輸入資料。

用法:A:導包

           B:建立對象

           C:調用方法

System類下有一個靜态的字段:

public static final InputStream in;//标準的資料流,對應鍵盤的錄入

InputStream is=System.in

是以Scanner sc =new Scanner(System.in);

中調用了構造方法:scanner(InputStream sourse
           

标準的資料流是無論你輸入什麼,都直接輸入字元串,不會判斷類型,但是經過system.In的包裝之後,可以判斷出輸入的資料類型

2.成員方法

基本格式:

hasNextXxx() 判斷是否還有下一個輸入項,其中Xxx可以是int,Double等。如果需要判斷是否包含下一個字元串,則可以省略

nextXxx()擷取下一個輸入項。Xxx的含義和上個方法的Xxx相同

預設情況下,Scanner使用空格,回車等作為分隔符

常用方法:

public int nextInt()   :擷取一個int類型的資料

public String nextLine():擷取一個String類型的資料

有個小問題:

先擷取一個整形數值,在擷取一個字元串,會出現問題

主要原因:就是那個換行符号的問題

如何解決呢?

A:先擷取一個數值後,在建立一個新的鍵盤錄入對象擷取字元串

int a=sc.nextInt();
Scanner sc2=new Scanner(System.in);
String s=sc2.nextLine();
           

B:把所有的資料都先按照字元串擷取,然後要什麼,你就對應的轉換成什麼。