问题
- 源码
- 输出样式
- 问题所在:第一次输入整数是正常的,如果输入的是小数它就会变成输出结果这张图片这样,会直接跳过让你输出小数
解决
-
在输入小数之前补充这一句代码
-
scanner.nextLine();
-
原因:next的方法基本上都存在这个问题,就拿代码的nextInt说,如果我输入了小数,他nextInt只会读取到整数的地方,点和后面的小数是还存在管道中的,没有及时清理,如果下次输入它就会提取你上次剩下的,从而导致代码错乱
-
scanner.nextLine的作用就是把上次残留的先取出来,这样就可以保证下次提取的是输入完整的
-
nextDouble,nextLine都存在这类似的问题,如果是nextLine也可以换成next试试
补充:感谢大佬提供的文章和狂神的学习地址(我写的可能不明了不清楚,可以看一下大佬的文章)
https://blog.csdn.net/ONEMORE6499/article/details/105430680/
https://www.kuangstudy.com/