- Student a=new Student();
- Scanner in = new Scanner(System.in);
- System.out.println("请输入学生的姓名: ");
- a.setName(in.nextLine());
- System.out.println("请输入学生的年龄: ");
- a.setAge(in.nextInt());
- System.out.println("请输入学生所在城市: ");
- a.setCity(in.nextLine());
- System.out.println("请输入学生家所在的小区单元: ");
- a.setAddr(in.nextLine());
- System.out.println("请输入邮政编码: ");
- a.setPostcode(in.nextInt());
- System.out.println("请输入学生的出生日期: ");
- a.setDate(in.nextLine());
- System.out.println("******************************");
- a.showStudent();
貌似没错,也能运行。看下执行的过程发现输入年龄后
“请输入学生所在城市:
请输入学生家所在的小区单元:”一起跳出来了
这样:
- 请输入学生的姓名:
- 张三
- 请输入学生的年龄:
- 21
- 请输入学生所在城市:
- 请输入学生家所在的小区单元:
- 常州
- 请输入邮政编码:
- 222314
- 请输入学生的出生日期:
- ******************************
- 该学生的信息为:
- 姓名:张三
- 年龄:21
- 家庭住址:常州
- 邮政编码:222314
- 出生日期:
晕,为什么呢?再看一下代码,仿佛没错呀?此时想到了C语言里好像也有类似的现象,当用getchar输入两行字符时
中间要加一个getchar();用来接收回车键。这里会不会也是类似的情况呢?没有接受便直接跳到下一行了,看这架势有点像。看一下API:API上的解释
nextLine
public String nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
此方法返回当前行的其余部分,不包括结尾处的行分隔符。当前位置移至下一行的行首。
分隔符被nextLine()接受了?
于是写了一个验证的代码:
- int n =in.nextInt() ;
- String s1 = in.nextLine();
- String s2 = in.nextLine();
- 输入:
- 12
- I LOVE YOU
- LOVE YOU
结果应该是什么呢?如果是:
12
I LOVE YOU 那就说明猜想正确了!
运行后发现,果然是这样的,哈哈,和C语言的一样啊
那就仿照着解决下:加一个 in.nextLine();试试:
- Student a=new Student();
- Scanner in = new Scanner(System.in);
- System.out.println("请输入学生的姓名: ");
- a.setName(in.nextLine());
- System.out.println("请输入学生的年龄: ");
- a.setAge(in.nextInt());
- in.nextLine();//加在这!!
- System.out.println("请输入学生所在城市: ");
- a.setCity(in.nextLine());
- System.out.println("请输入学生家所在的小区单元: ");
- a.setAddr(in.nextLine());
- System.out.println("请输入邮政编码: ");
- a.setPostcode(in.nextInt());
- in.nextLine();//还有这!!!
- System.out.println("请输入学生的出生日期: ");
- a.setDate(in.nextLine());
- System.out.println("******************************");
- a.showStudent();
运行试试:
- 请输入学生的姓名:
- 张三
- 请输入学生的年龄:
- 21
- 请输入学生所在城市:
- 三里国
- 请输入学生家所在的小区单元:
- 常州市
- 请输入邮政编码:
- 222314
- 请输入学生的出生日期:
- 1989-02-02
- ******************************
- 该学生的信息为:
- 姓名:张三
- 年龄:21
- 家庭住址:三里国常州市
- 邮政编码:222314
- 出生日期:1989-02-02
ok啦!!!
为什么加一个in.nextLine();就好了呢,原因是nextInt()读入的是仅是数字,而换行符没有读入,
使用nextInt()的时候,读取一定是数值型的字符,然后就按换行符 接着使用nextLine(),它是读到行分隔符就结束,而行分隔符前已经没信息,所以没有读到任何可返回的信息。
恍然大悟啊,原来如此。
总结一下:
1、首先遇到问题要勤于思考,不用畏惧
2、可以联想以前的问题,有没有遇过相似的情况可以借鉴的
申明:
1、本文的层次比较低,如果您不小心看了,浪费您时间了请您谅解
2、时间仓促+技术不行,错误在所难免,感谢指出
相关推荐
ruoyi-vue-pro-vben 芋道管理后台,基于 vben 最新版本,最新的 vue3 vite4 ant-design-vue 4.0 typescript 语法进行重构开发,支持 springboot3 springcloud 版本
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
该项目是一个基于Java语言开发的水果管理系统设计源码,包含53个文件,其中包括30个Java源文件、13个XML配置文件、6个JAR包文件、1个Git忽略文件、1个属性文件以及1个SQL脚本文件。此系统旨在用于期末答辩展示,展示了开发者对Java编程和系统设计的深入理解。
java回顾、知识整理、拾遗、面试_java-review
mysql主从复制用struts2,spring,hibernate框架,搭建在线考试系统。网站支持(1)老师创建题库,创建题目,查看题目对题目进行增删改,发布考试(选择考试难中易比例),批改学生试卷,查看学生成绩。(.zip
一个基于Go语言实现的搜索引擎项目资源
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
基于grpc开发的跨语言的交互系统,集成BCS,Brower
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
基于go语言,使用gocv和socket实现摄像头视频传输项
apache-seatunnel-web-1.0.2
内容概要:本篇文章主要介绍了如何在VMware虚拟化平台上搭建并配置QNX Neutrino实时操作系统的步骤方法。文章首先给出了获取必要的安装文件来源,然后逐步指导用户如何完成QNX在虚拟机中的安装过程以及相关网络参数配置,包括选择适当的网络模式来实现宿主机器与QNX虚拟机之间的通信,具体为设置NAT模式或者桥接模式下的网络参数,如指定静态或动态获取IP地址的方法。 适用人群:对嵌入式开发感兴趣的技术人士,尤其是需要在Linux环境下开展工作的程序员和系统工程师。 使用场景及目标:通过详细的操作指南帮助初学者快速掌握在Windows或Linux主机上利用虚拟机搭建QNX Real-Time Operating System开发环境的基础技能,能够实现在该环境中运行简单的C/C++应用程序。 其他说明:本文不仅适用于QNX初学者作为入门引导资料,也为经验丰富的开发者提供了有关于特定环境配置的重要参考。由于涉及到的具体细节比较多,读者最好边操作边对照文章内容进行练习。同时要注意保持最新版本的虚拟化平台客户端和服务端程序以确保兼容性和稳定性。
stm32中dma结合ad的使用
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
低全球变暖潜能值 (GWP) 制冷剂.docx
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
ubuntu