Scanner是java 中类似于c语言中scanf的存在,在使用Scanner时必须要利用import。
import java.util.Scanner;放在代码的最开始,类似于C的#include ,我们称之为导包。
利用Scanner对字符串,整数输入:
此时我们看见在输入年龄后,按下回车,并没有让我们输入姓名,这是因为年龄在姓名之前输入姓名的语句将回车键默认位姓名,所以我们要尽量保证在nextLine()前面没有nextInt();
对于字符串的输入有nextLine()和next()之分:
现在我们将字符串和整数的输入换成了正确位置,运行时却出现了错误,此时可以看到我们将字符串的输入nextLine()换成了next(),那如果时nextLine()又会怎样,还会有错吗?
可以看到没有出现问题。
所以nextLine()和next()的区别在哪?
输入姓名我们都知道姓和名之间时有空格的;
在使用next()时它并不能识别空格后的内容,在遇到空格之后就停止了,所以对于后面int类年纪的输入,对计算机来说我们输入了一个字符串,这于类型并不匹配,所以出现了错误;
对于nextLine(),它可以识别一行的内容,所以空格没有影响。