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()方法,其他都类似,不再一一列举了。
今天的内容就到这里了。