当前位置: 首页 > article >正文

next(), nextLine(),nextInt()报错分析

首先,区别next和nextLine

next

next输入的是连续字符串,字符串里不包含空格,遇有效字符开始输入(也就是说在输入有效字符之前,输入空格是没用的),并且遇空格或者enter停止输入

nextLine

输入的字符串包含空格,没有开始输入的限制,只有遇enter在停止

举个栗子:

1.当是next输入时,如果你输入  空格空格空格abc空格空格enter

那么next只会从a开始读取,读取到c结束,而c后输入的两个空格仍然在输入流中

2.当是nextLine输入时,就会从第一个空格开始读取,读取到enter,得到的字符串就是:  空格空格空格abc空格空格

好了,接下来分析加上nextInt的报错:

如果是这样

String str = scanner.next();
int a = scanner.nextInt();

如果是输入: 空格空格空格abc空格空格def enter

首先,next会从a输入到c,后面的:空格空格def enter仍然在输入流中,就会被nextInt读取,

nextInt从d开始读取,但是很遗憾,d并不是int类型,所以会抛出InputMismatchException异常

如果要能使nextInt正常工作,可以在next与nextInt之间加上一个nextLine,这个nextLine的作用就是将:空格空格def enter 读取,这样nextInt的输入就不会受到上面next的错误输入的影响


http://www.kler.cn/a/16303.html

相关文章:

  • 浅谈“通感一体”
  • 2分钟在阿里云ECS控制台部署个人应用(图文示例)
  • 城市轨道交通数据可视化的应用与优势
  • git下载慢下载不了?Git国内国外下载地址镜像,git安装视频教程
  • 从社交媒体到元宇宙:Facebook未来发展新方向
  • odoo 17 后端路由接口认证自定义
  • UG NX二次开发(C++)-建模-修改NXObject或者Feature的颜色(一)
  • Java学习报培训班好还是自学好?
  • 微服务SpringCloud面试题27问
  • appium-app测试-环境搭建手机和adb设置
  • 四和能聚分析做直播带货的商家通常发布什么类型的短视频
  • 电脑的选择
  • 06.toRef 和 toRefs
  • iOS 多线程使用示例
  • JSP 的本质原理解析:“编写的时候是JSP,心里想解读的是 java 源码“
  • 什么是Java中的反射机制?
  • Syncfusion Essential Studio Enterprise 2023.1 Crack
  • AOSP编译问题
  • 【Bus】编写一个Demo虚拟的总线-设备-驱动模型
  • 电话号码的字母组合
  • 荔枝派Zero(全志V3S)基于QT实现在LCD显示图片
  • 【五一创作】Scratch资料袋
  • 使用邻接矩阵实现有向图最短路径Dijkstra算法 题目编号:1136
  • 32岁阿里P7,把简历改成不知名小公司,学历改成普通本科,工作内容不变,投简历全挂!...
  • 什么是跨域?
  • 谈谈常用Reverse shell,以及他们是怎么做到的。