**两个都是用来接收用户的输入,区别在于:
next()从遇到第一个有效字符(非空格、换行符)开始扫描,遇到第一个分隔符或结束符(空格’ ‘或者换行符 ‘\n’)时结束。 nextLine()则是扫描剩下的所有字符串知道遇到回车为止。**
聪明的你get到了吗?
如果没有,没关系,我们来举个例子,对于如下输入:
- 1
- 2
- 3
- 4
- 5
- 6
解释一下原因
首先对于输入的数据,在计算机中实际表示是这样的,包含三个空格和一个换行符:
aaa bbb ccc \n
netx()函数从遇到的第一个有效的字符a开始扫描,直到遇到第一个空格扫描结束,得到字符串”aaa”
nextLine()函数从空格开始扫描知直到遇到\n符结束,故得到字符串是 ” bbb ccc”,注意这里bbb前面还有一个空格
所以如果要同时使用next和nextLine()时,要慎用,因为联合使用时就是一个整体,next在前,nextLine靠后,扫描接受的是同一行上的字符串,只不过接收的是不同内容罢了。
下面对于sc.nextInt() ,sc.nextDouble等与sc.nextLine()使用时需要注意的问题
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33