Java中nextInt()和nextLine()混用问题解决
Scanner类概述:
Scanner类是是用来接收控制台输入的字符串以及基本数据类型的类。
常用方法:
1.int nextInt():
接收输入的int型的数据。
结束符为空格或者回车2.String nextLine()
接收输入的是字符串的数据
结束符为回车
3.String next():
接收输入的字符串的数据
结束符为回车
问题:
import java.util.Scanner;public class Test3 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入的数字");int scan=scanner.nextInt();System.out.println("请输入姓名");String name=scanner.nextLine();System.out.println(scan);System.out.println(name);}}
结果:
用nextInt()读取第一行输入,执行到用nextLine()读取第二行的输入时,就直接结束了nextLine的输入。
这个是为什么?
通过测试发现,只要nextInt,next,nextdouble方法在nextLine前面时,就会跳过nextline的输入。
原因:
nextInt()是以换行符或者回车结束的,表示输入结束。(我们结束这个输入时,都会按回车键)
而换行符 ” /n“,回车符 也是一个字符.nextLine()会把前者的换行符或者回车一个字符输入,所以nextLine不是没有录入值,而是直接把换行符或者回车符录入,直接结束输入,所以nextLine不需要再从控制台中录入。
解决办法:
1.创建两个Scanner对象,两个对象使用两个不同的方法。
如:
public static void main(String[] args) {Scanner scanner=new Scanner(System.in);Scanner scanner2=new Scanner(System.in);System.out.println("请输入的数字");int sca=scanner.nextInt();System.out.println("请输入姓名");String name=scanner2.nextLine();
2.把nextLine()放在nextInt()前面
如:
public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入姓名");String name=scanner.nextLine();System.out.println("请输入的数字");int sca=scanner.nextInt();
Java中nextInt()和nextLine()混用问题解决相关推荐
- java nextint后有空格,Java中nextInt()后接nextLine()读取不到数据
Java中nextInt()后接nextLine()读取不到数据 Java中nextInt()后接nextLine()读取不到数据 问题: 在使用Scanner对象的nextLine()函数读取输入的 ...
- java中next()和nextline()用法区别(详细说明)
java中next和nextline用法区别 一,方法说明 二,空格的情况(tab键相当于多个空个 1.测试代码 2.中间出现空格时 3.开头出现空格时 三,回车键的情况 分析:回车键的情况 四,常见 ...
- java中nextInt()用法
java中nextInt用法 功能 函数实现 三级目录 功能 给定一个参数n,nextInt(n)将返回一个大于等于0小于n的随机数,即:0 <= nextInt(n) < n. 函数实现 ...
- java 中 next() 与 nextLine() 方法的区别
在说它俩的不同之处前,先说说它俩的相同之处: next() 和 nextLine() 读取的结果都是 String 类型,返回 string 类型 java 中 Scanner 类中的 next() ...
- java中next()和nextline()用法区别
个人笔记: 说明: next(): 1.停止录入的结束符有空格.Tab键和回车键(录入内容不含结束标志) 2.next()对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方 ...
- scanner中nextInt和nextLine的顺序问题
在牛客网做输入输出专项训练时发现的一个小问题 原题链接字符串1 处理输入时,有两行 所以我打算这样取输入 Scanner in = new Scanner(System.in); int n = in ...
- Java中next()和nextLine()的区别(为什么nextLine()输入回车没显示)
前言 博主个人社区:开发与算法学习社区 博主个人主页:Killing Vibe的博客 欢迎大家加入,一起交流学习~~ 一.问题描述: 前几天遇到了一个小问题:为了简化,我手打了一段简单的代码,如下: ...
- Java中next和nextline的区别
一.next和nextline同时使用的问题 因为最近发现当输入两行语句的时候,如果next在上,nextline在下,就会导致输入异常,所以总结了一下next和nextline的区别 Scanner ...
- Java中字符的输入
Java中支持next(),nextLine(),nextInt(),nextDouble(),nextLong()等,但是没有nextChar(). 接下来介绍两种输入字符的方法 1)next(). ...
最新文章
- Spring MVC 五大组件
- Oracle 表的访问方式(2)-----索引扫描
- 世界级投资大师们的至理名言
- 返回值类型有哪些_关于类型的思考
- Python中join 和 split详解
- float类型转integer_Java基础(一)之数据类型——全面,浅显易懂
- 爱我少一点,我请求你
- 【Linux】一步一步学Linux——apt-sortpkgs命令(280)
- 【终极办法】org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘helloC
- python requests请求失败重试_Python:requests:详解超时和重试
- tween.js的使用
- hdu5064 Find Sequence 单调性dp
- ssm酒店预订系统(ssm酒店管理系统民宿预订)ssm酒店客房预订系统宾馆JSP客房预订系统
- iOS 启动优化和安装包瘦身
- 基于vue的选择月日组件
- 对比两张表的数据并筛选出数据不同的
- 使用token验证登录信息,把token存到数据库中
- 笔记本电脑插过一次typeC的耳机之后在插3.5的圆孔耳机不能用?
- 基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)
- 天津医大二院信息化办公室主任志翔:双机保护不是万能的
热门文章
- 美版 Pixel 5 网络无法使用问题解决
- 淘宝版本nginx部署
- 求助:选矿厂管理系统怎么编??(课程设计)
- opencv--拍大头贴程序
- 欧几里得算法和拓展欧几里得算法
- 计算机学院贺凤,石家庄邮电职业技术学院
- Postgresql - Cluster
- IOS学习笔记1—Iphone程序运行流程
- 古希腊神话故事6 :欧罗巴
- RabbitMq 本地连接报错 org.springframework.amqp.rabbit.support.ListenerExecutionFailedException: Listener