当前位置: 首页 > 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/news/16303.html

相关文章:

  • 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,以及他们是怎么做到的。
  • linux下的权限管理
  • gl-opendrive插件(车俩3D仿真模拟自动驾驶)
  • MATLAB | 如何使用MATLAB绘制高度自定义的桑基图(sankey)
  • 废物,我TMD一个985却斗不过专科生(大厂自动化测试2年被裁)
  • Java使用 Scanner连续输入int, String 异常错误输出原因分析
  • 轻叶H5营销单页,让你的营销更加清爽高效
  • 实训笔记1
  • 15-4-线程-线程同步之互斥量加锁解锁
  • matlab绘制折线图基本操作
  • 『python爬虫』04. 爬虫需要知道的HTTP协议知识(保姆级图文)