键盘输入格式的不同对下一次键盘输入引起的错误
前两天在编写代码时发现了这么一个有趣的问题
(在此展现部分代码)
System.out.print("生日:(xxxx年xx月xx日)");
String birthday = in.next();
System.out.println("常住地:");
String address = in.next();
System.out.println("婚姻状况:未婚\t离异\t丧偶");
String marryState = in.next();
System.out.println("身高:");
double height = in.nextDouble();
System.out.print("学历:");
String degreeOflearning = in.next();
System.out.print("月薪:");
double salary = in.nextDouble();
从生日开始输入,如果输入的格式是下面这样的
生日(xxxx年xx月xx日):1999 05 06
(数字间为空格)
那就会出现下列问题,按了回车键后 它接着执行的是后两次的键盘输入
常住地:
婚姻状况:未婚 离异
身高:185
另外,如果尝试多输几个空格,那它便会跳过相应空格数的键盘输入操作次数(仅作为实现所需效果的操作)
生日:(xxxx年xx月xx日)1999 09 89 47
常住地:
婚姻状况:未婚 离异 丧偶
身高:
月薪:15000
而输入格式变为以下(任何数字间不带空格的格式同)
生日(xxxx年xx月xx日):1999/05/06
那接下来执行的键盘输入便是依次执行了
常住地:上海
婚姻状况:未婚 离异 未婚
身高:185
对于上面的问题一开始也是有困扰作者几十分钟,一直找不到问题出在哪里。虽然说现在问题是有得到解决,但其原理还是不明白,如果有哪位好兄弟看到这篇文章,希望可以帮我答疑解惑,在这先感谢了!