Java中在Scanner类里有两种方法可以使用户通过键盘输入字符串
I.next()方法
使用方法是如下:
使用Scanner类创建一个对象,System.in待变系统输入,Scanner代表扫描仪的意思,大概就是通过扫描仪扫描系统输入,然后我们定义一个String字符串类型变量用于存储我们要输入的字符串,next()方法就是输入字符串。
II.nextLine()方法
使用方法如下:
操作方法也是如上。
那么,这两个方法有什么区别呢?乍一看,nextLine()方法比next()方法长一个Line单词,是不是更牛一点呢我们来分析一下长一点的字符串
next()
nextLine()
通过对比,果然满是伤痕。
next()方法只输出了字符串中的第一个字母I,因为接下来的空格它识别不了。
而nextLine()方法输出了整个字符串,因为该方法可以识别字符串中的空格以及回车,是不是很强大。
那么,怎么通过键盘完成一个字符的输入,当然在next()方法和nextLine()方法下还有一个方法叫做charAt(args【0】),顾名思义,我们可以看出charAt是字符在什么。。。看一下代码展示吧:
next().charAt()
因为charAt(0)这个方法中的参数表示取出字符串中的第几个字符,因为是字符,所以之打印该方法下指定的参数所对应的字符
比如换一个参数:
注意:charAt()这个方法中的参数是args[]一个数组,所以0为下标指向第一个数。
那么我么来看next()的一个弊端:
可以看出当字符是空格时,next()方法下的charAt()无法执行,当然nextLine()这个方法就可以了,之前字符串的输入也说过,nextLine()这个方法可以识别空格和回车。
可以看到输出了一个光标,这里不是很明显,可以看下光标位置。
希望小伙伴注意区别两种方法,适当运用。