java中nextLine(),读取换行符的解决
一:问题描述
当输入完第一值后,就未能输入后来的字符串
package com.wyj.two;import java.util.Scanner;public class text {public static void main(String[] args) {Scanner in = new Scanner(System.in);int temp = in.nextInt();System.out.println(temp);String str = in.nextLine();System.out.println(str);}
}
二:问题解析
经过从网上查询资料,了解到Scanner是一个扫描器,它扫描数据都是去内存中一块缓冲区中进行扫描并读入数据的,而我们在控制台中输入的数据也都是被先存入缓冲区中等待扫描器的扫描读取。这个扫描器在扫描过程中判断停止的依据就是“空白符”,空格、回车等都算作是空白符。
next()与nextLine()的区别
next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其过滤掉;只有在读取到有效字符之后,next()方法才将其后的空格键、Tab键或Enter键等视为结束符;所以next()方法不能得到带空格的字符串。
nextLine()方法字面上有扫描一整行的意思,它的结束符只能是Enter键,即nextLine()方法返回的是Enter键之前没有被读取的所有字符,它是可以得到带空格的字符串的。
next()方法在扫描到空白符的时候会将前面的数据读取走,但会丢下空白符“\r”在缓冲区中
nextLine()方法在扫描的时候会将扫描到的空白符一同清理掉
三:问题解决
1.可以在后面加一个 nextLine();专门读取无效字符
2.或者就别用nextLine()输入, 直接用next();
java中nextLine(),读取换行符的解决相关推荐
- 在java中转义符 n代表什么_在Java中,表示换行符的转义字符是()。 A.\nB.\fC.n D.\ddd...
在Java中,表示换行符的转义字符是(). A.\nB.\fC.n D.\ddd 更多相关问题 单选(2分) Who\\\'s one the biggest challenges in design ...
- java中nextLine读取不到的问题
要求的标准输入一般是"Scanner cin=new Scanner(System.in);". 其实还有更有效率的方法:Scanner cin=new Scanner(new B ...
- java中print换行符_如何在java中打印带换行符的字符串
我需要使用 java打印一个字符串,所以我喜欢以下解决方案经过google搜索了很多.我做了一些更改来打印字符串而不显示打印对话框.我的问题是虽然这个方法正确地打印了字符串,但它不会像我定义的那样破坏 ...
- Java中替换‘\n‘换行符
在替换字符串中的换行符'\n'的时候,必须要写成下面的方式才能正确执行: str.replace("\\n", ""); str.replaceAll(&quo ...
- 关于java中nextline读取空白行的问题
最近在做java作业, 发现了一个问题, 就是nextline其实会接收缓冲区的\r, 使得在程序运行时nextline像是跳过了一样, 其实不然, 它只是读取了上一个enter时的\r, 如我的如下 ...
- POI Excel 08 读取重写Excel,单元格中使用\n换行符
@author YHC 读取Excel和重写Excel click me!!看创建Excel代码!!!!!<<<<=====创建测试的Excel是POI Excel 02[工作 ...
- java替换换行符_Java的replace替换字符串中的回车换行符的方法
Java的replace替换字符串中的回车换行符的方法 导语:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大 ...
- Java Scanner.nextLine()读取回车问题解决
Scanner.nextLine读取回车问题解决 问题描述 问题分析 如何处理多出来的换行符 方法一 方法二 实战 问题解答 问题描述 我们在使用java读取键盘输入时,如果先读取一个int变量,再读 ...
- linux中excel的换行符,Excel skill: 如何替换换行符,以及如何把一格转换成多行/多列...
增加一辅助列,用替换函数替换掉软回车. 比如A列是数据,从A1开始,则插入B列,B1输入公式 =REPLACE(A1,FIND(CHAR(10),A1),1,"") 再用填充柄向下 ...
最新文章
- 输入/输出延迟单元( IODELAY)简介
- Shell--shell中的判断
- linux下查看tomcat的启动日志
- 全球及中国农业保险市场营销状况与运营价值分析报告2022版
- 《极乐迪斯科》:一趟充满新奇的旅程 ,一款里程碑式的 CRPG
- 初一七年级计算机信息全册教案,新川教版七年级信息技术全册教案(全册)
- AI让边缘更智能 边缘让AI无处不在
- 命令orapwd的学习
- 性能优化(9):切记要避免重定向
- 标签中包含input时line-height属性失效的解决办法
- hal库串口dma卡死_HAL库版DMA循环模式串口数据收发
- Flask-SQLAlchemy - 不使用外键连表查询。记得常回来看我
- Atitit 面向对象弊端与问题 坏处 缺点
- html图片轮播幻灯片,JS+css3实现幻灯片轮播图
- 赛默飞世尔Thermo Fisher仪器电路板维修故障概述
- 稀疏表示(Sparse Representations)
- k8s安装calico网络插件
- 小白爬虫入门~python爬取职友集招聘职位信息
- 使用window.open打开新窗口被谷歌浏览器拦截
- 服务号和订阅号之间的区别,企业适合选择哪一个?
热门文章
- JavaScript 清除图片背景颜色 使之透明
- [转]快速使用FileProvider解决Android7.0文件权限问题
- Android中文图混排时文图的居中对齐 FontMetrics以及自定义ImageSpan实现
- Android之简单的文件夹选择器实现
- Android之app引导页(背景图片切换加各个页面动画效果)
- Android之Broadcast, BroadcastReceiver(广播)
- sql distinct 去重复 (mysql)
- php ftp 创建文件夹失败,PHP使用FTP函数创建目录
- mysql bigint转string_无语了,直到今天,我才揪出MySQL磁盘消耗迅猛的“真凶”!...
- python123可以复制粘贴吗_使用win32com和python复制和粘贴隔离