Scanner类中的nextLine()产生的换行符问题
来源:互联网 发布:大学生的网络购物情况 编辑:程序博客网 时间:2024/06/06 14:21
Scanner类中的nextLine()产生的换行符问题
Scanner中,nextInt()不会读取或识别用户输入的和遗留的换行符,但是nextLine()会识别
本文章纯属原创,转载请注明作者,谢谢
代码块
例如:
System.out.print("请输入水果价格:");fruit.setPrice(input.nextInt());System.out.print("请输入水果数量:");fruit.setCount(input.nextInt());System.out.print("请输入水果描述:");fruit.setIntroduction(input.nextLine());
在输入的过程中,nextInt()没有读取上一次输入nextInt()输入时留下的“\n”
但是nextLine()读取了上一次输入nextInt()留下的“\n”,所以没有给用户输入(软件认为用户输了一个”\n”),而是直接换行了。
请输入水果名称:apple请输入水果价格:10请输入水果数量:20请输入水果描述:添加成功
修改方法:将nextLine()会读入但不需要的”\n”过滤掉。如下面的if操作:
System.out.print("请输入水果价格:");fruit.setPrice(input.nextInt());System.out.print("请输入水果数量:");fruit.setCount(input.nextInt());/*此处的if判断作用为消除inpu.nexInt()语句遗留下来的"\n",inpu.nexInt()不会读取换行符,但是inpu.nextLine()会读取换行符,如果此处不处理,则在执行下面的input.nextLine()时会读取上一次输入时遗留的换行符,然后直接换行,不会读取用户的输入数据(或者说用户根本就无法输入数据)*/if (input.nextLine() != "\n") {}System.out.print("请输入水果描述:");fruit.setIntroduction(input.nextLine());
运行结果:
请输入水果名称:apple请输入水果价格:10请输入水果数量:50请输入水果描述:very well添加成功
当然用户也可以按照下列的方式进行过滤。(强迫症,不能忍,所以写了上面的那种方法,输出结果请自行调试)
System.out.print("请输入水果价格:");fruit.setPrice(input.nextInt());System.out.print("请输入水果数量:");fruit.setCount(input.nextInt());input.nextLine();-----------------System.out.print("请输入水果描述:");fruit.setIntroduction(input.nextLine());
注意:有时nextLine()这行并不会报错,但是问题却是产生于这一行,使用过程中一定要小心。
建议:能不用时尽量不要使用nextLine(),尽量使用next()。
2 0
- Scanner类中的nextLine()产生的换行符问题
- java 中的Scanner、 Scanner的nextLine()
- Scanner类中nextLine()问题
- 【Java基础】键盘录入Scanner类中的next()与nextLine()的问题
- Scanner类 next与nextLine方法的使用问题
- Scanner中的next()与nextLine()的区别
- Scanner中的next和nextLine的理解
- Scanner 类中的 next() 与 nextLine() 区别
- Scanner类中的next()和nextLine()方法
- Scanner类的next()和nextLine()
- 关于java中的Scanner类中的nextLine方法与next方法的区别
- java中Scanner类中的next()和nextLine()方法的区别
- java Scanner中的 next() 方法和 nextLine() 方法的区别
- Java中Scanner的nextLine方法的问题
- Java Scanner中scan.nextLine()接受上一输入回车符的问题。。
- java中scanner.nextint和nextline的问题
- Scanner中next*(), next(), nextLine()混用的问题
- 小心:Scanner中关于next()、nextInt()和nextLine()的问题
- R第二问 CentOS6.5安装 yum [Errno 256] No more mirrors to try
- 对称加密与非对称加密的区别
- win下如何在yii框架下面使用sphinx
- Ruby中使用each和collect进行迭代的用法
- Struts 和 frame 搭配,跳转到指定的位置
- Scanner类中的nextLine()产生的换行符问题
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(六)
- 栈与队列
- viewPager+radiogroup实现关联
- 网络安全技能图谱
- 常用语义纪录篇
- Tsar开源:淘宝内部大量使用的系统监控工具
- Django安装配置及HelloWorld
- 加载3种状态架构