java.util.Scanner,這個類,想必大家都不怎麼陌生,在初學Java這門程式語言時,都見過,使用過吧。
今天就來說說java.util.Scanner類的幾種next方法。
scanner.next()方法
先看看scanner.next()的使用以及效果吧。
如上圖代碼以及執行結果所示,scanner.next()這個方法會忽略掉輸入有效字符前面的空格,輸入內容中遇到空格後,從空格開始往後的內容就都不作為掃描結果了。
scanner.nextLine()方法
再來看看scanner.nextLine()這個方法。
對上面的示例代碼稍作修改。
和上面的scanner.next()的執行結果比較便知,scanner.nextLine()方法不會忽略空格,掃描的結果是回車之前的所有輸入內容。
scanner.nextInt()方法
上面的兩個示例代碼都是獲取輸入的字符串,那如果是要獲取數值呢。
看看下面的這段示例代碼。
如上面示例所示,scanner.nextInt()的掃描結果會忽略前面的空格,輸入內容中遇到空格後,從空格開始往後的內容就都不作為掃描結果了。
scanner.nextBigDecimal()方法
如果想要通過java.util.Scanner來獲取一個輸入的BigDecimal對象,則可以使用類似下面示例的代碼。
java.util.Scanner還有很多類似的next方法,比如:nextBigInteger()、nextBoolean()、nextByte()、nextDouble()、nextFloat()、nextLong()、nextShort()等等。
scanner.hasNextXxx()
上面的例子都是輸入的符合掃描結果類型的內容,那如果是不符合對應類型的內容呢。
看看下面的示例。
就像上面的示例所示,執行時就會拋出異常了。那像這樣的要怎麼處理呢。
java.util.Scanner類中每個next方法,都有一個對應的hasNext方法與之對應,這個hasNext方法就可以應對這樣的情況,達到不拋異常,做友好的處理。
來一段代碼示例一下。
像next()方法有對應的hasNext()方法,nextInt()方法有對應的hasNextInt()方法,其他都類似,不再一一列舉了。
今天的內容就到這裡了。