前幾節我們學習瞭怎樣使用String類別的split(String regex)來分解字串,以及怎樣使用StringTokenizer類別來解析字串中的單詞,這一節我們學習怎樣使用Scanner類別的物件從字串中解析程式所需要的資料。
解析程式所需資料有兩種方法, 一是使用預設分隔標記解析字串,二是使用正規表示式作為分隔標記解析字串,本節我們學習第一種方法。
想要使用預設分隔標記解析字串,我們需要建立Scanner對象,並將要解析的字串傳遞給所構造的對象,例如:
StringNBA=ILoveThisGame;
為了解析出NBA中的單詞,我們可以建構一個Scanner物件:
Scannerscanner=newScanner(NBA);
那麼scanner將空格作為分隔標記來解析字串中的單詞,解析運算的特性如下:
1)scanner呼叫next()方法依序傳回NBA中的單字,如果NBA最後一個單字已被next()方法傳回,scanner呼叫hasNext()會傳回false,否則傳回true。
2)對於被解析的字串中的數字型單字,例如123,1.23等,scanner可以用nextInt()或nextDouble()方法來取代next()方法,即scanner可以呼叫nextInt()或nextDouble()方法將數字型單字轉換為int或double資料回傳。
3)如果單字不是數字型單詞,scanner呼叫nextInt()或nextDouble()方法將發生InputMismatchException異常,在處理異常時可以呼叫next()方法傳回非數位化單字。