Java中next和nextline的区别
一、next和nextline同时使用的问题
因为最近发现当输入两行语句的时候,如果next在上,nextline在下,就会导致输入异常,所以总结了一下next和nextline的区别
Scanner sc = new Scanner(System.in);System.out.println("next输入");String str1 = sc.next();System.out.println("nextline输入");String str2 = sc.nextLine();System.out.println("str1:"+str1);System.out.println("str2:"+str2);//运行结果:next输入123nextline输入str1:123str2:
可以发现next输入后,nextline输入直接被跳过去了
二、next和nextline
1.next
- API文档解释:查找并返回来自次扫描器的下一个完整标记
- 简单理解就是next只能识别一段完整的字符,遇到空格,回车等都会结束并返回值
2.nextline
- API文档解释: 此扫描器执行当前行,并返回跳过的输入信息
- 简单理解就是nextline会识别当前行的全部内容,遇到换行符才结束
三、异常原因及解决
知道了next和nextline的区别之后,导致异常的原因就很明显了,next只会读取字符内容,遗留下来的换行符被nextline读取到,所以直接结束了nextline的输入
解决方案:
解决方案就很简单啦,在要nextline上面再加一行nextline读取掉next留下来的换行符就好了
Scanner sc = new Scanner(System.in);System.out.println("next输入");String str1 = sc.next();System.out.println("nextline输入");sc.nextline();String str2 = sc.nextLine();System.out.println("str1:"+str1);System.out.println("str2:"+str2);//运行效果next输入123nextline输入123str1:123str2:123
Java中next和nextline的区别相关推荐
- java中next()和nextline()用法区别(详细说明)
java中next和nextline用法区别 一,方法说明 二,空格的情况(tab键相当于多个空个 1.测试代码 2.中间出现空格时 3.开头出现空格时 三,回车键的情况 分析:回车键的情况 四,常见 ...
- java中next()和nextline()用法区别
个人笔记: 说明: next(): 1.停止录入的结束符有空格.Tab键和回车键(录入内容不含结束标志) 2.next()对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方 ...
- Java中next()和nextLine()的区别(为什么nextLine()输入回车没显示)
前言 博主个人社区:开发与算法学习社区 博主个人主页:Killing Vibe的博客 欢迎大家加入,一起交流学习~~ 一.问题描述: 前几天遇到了一个小问题:为了简化,我手打了一段简单的代码,如下: ...
- java中的异常种类和区别以及处理机制和区别
java中的异常种类和区别以及处理机制和区别 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeExce ...
- java中ArrayList和LinkedList的区别
首先来看ArrayList和LinkedList的集成类和接口的区别.// lang java public class ArrayList<E> extends AbstractList ...
- java中Runnable和Callable的区别
文章目录 运行机制 返回值的不同 Exception处理 java中Runnable和Callable的区别 在java的多线程开发中Runnable一直以来都是多线程的核心,而Callable是ja ...
- java中wait和sleep的区别
文章目录 Wait和sleep的区别 唤醒wait和sleep java中wait和sleep的区别 在本篇文章中,我们将会讨论一下java中wait()和sleep()方法的区别.并讨论一下怎么使用 ...
- java throw与throws_基于Java中throw和throws的区别(详解)
系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...
- Java中重载和复写的区别
Java中重载和复写的区别 重载(overload) 复写(override) 区别和联系 重载(overload) 函数重载的最突出的例子就是类的构造函数,用户定义一个对象时可能会提供多种参数组合: ...
最新文章
- 安装libtiff包 Python3
- rabbitmq队列php应用,RabbitMQ工作队列应用
- c语言程序设计江宝钏第九章,C语言程序设计 (江宝钏 著) 清华大学出版社 第9章习题答案1...
- 改造独立部署(SCD)模式下.NET Core应用程序 dotnet的exe文件启动过程
- c#string倒数第二位插入字符_c#string倒数第二位插入字符_C#利用String类的IndexOf、LastIndexOf、...
- windows服务器下com6僵尸***删除
- ImageNet又被Long-Short Transformer 霸榜!
- [转]android MapView 定位与Overlay onTap事件处理
- [转]关于c#winform禁用关闭按钮的方法
- [Linux]不可重入函数
- 2007以学习软件设计开始
- TrueCrypt 密码找回工具
- 如何用c语言实现猜数字游戏?
- 关于Qt Creater中资源文件和文件路径的记录
- 【3分钟速读】那些你苦苦搜索的模板,是这么被捣腾出来的
- 微信开放平台创建应用时应用官网的问题
- 让制度去管理,而不是你去管理
- CSS3窗外闪电下雨动画js特效
- JAVA:获取用户访问ip地址
- 钳形万用表使用方法,如何测量电压、电流、电阻?
热门文章
- Delphi 学习ClientDataSet
- 常用的5个分布式缓存框架
- [JDBC连接] 使用JDBC操作数据库中的数据
- 人见人爱的最新 Python 爬虫利器
- Spring Boot 的接口限流算法优缺点深度分析
- 无盘服务器e5e3,Intel 的酷睿系列和至强E3有什么不同?哪个性能好?
- 远程连接数据库(SQLServer)
- linux的su,su - 和sudo的区别
- wireshark抓包红色_Wireshark网络抓包(一)——数据包、着色规则和提示
- Android7.0更换系统默认输入法