2 qq 34611363 qq_34611363 于 2016.04.10 20:12 提问

帮忙看看这个程序,为什么设置读取的分隔符为换行后无法正确读入数据

import java.util.Scanner;
public class ScannerDemo2{
public static void main(String []args){
Scanner scan=new Scanner(System.in);
scan.useDelimiter("\n");//设置了分隔符后无法读入整数和小数,if语句判断都是false,为什么?
System.out.println("请输入整数:");
int num=0;
if(scan.hasNextInt()){
num=scan.nextInt();
}else{
System.out.println("输入的不是整数");
scan.next();
}
System.out.println("请输入小数");
float f=0f;
if(scan.hasNextFloat()){
f=scan.nextFloat();
}else{
System.out.println("输入的不是小数");
}
System.out.println("整数:"+num);
System.out.println("小数"+f);
}
}
帮忙看看这个程序,为什么设置读取的分隔符为换行后无法正确读入数据

2个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.04.10 20:36
已采纳

正确的分隔符不应该是"\n"(单个换行),而应该是"\r\n"(回车换行)才对。修正如下,就正确了:

 scan.useDelimiter("\r\n");
qq_34611363
qq_34611363 原来如此,谢谢
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.04.10 20:35

你怎么输入的,我没发现问题

http://ideone.com/LWZXql
请输入整数:
请输入小数
整数:1
小数2.1

qq_34611363
qq_34611363 换成"\r\n"问题解决了
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JAVA 第二次试验:Java语言基础练习
第二次试验:Java语言基础练习一、实验目的:      1. 了解 Java 的数据类型 2. 掌握各种变量的声明方式及其使用范围。3. 理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。二、实验环境:       Windows下java SE。三、实验内容:(一) 声明不同数据类型的变量        1.编写声明不同数据类型变量的程序文件 KY2_1.jav...
java中按文件中的分隔符(空格、换行符等)逐项读取文件中的数据
java中按文件中的分隔符(空格、换行符等)逐项读取文件中的数据        C++中可以根据文件中的空格、换行符、制表符等分隔符来依次读取文件中的数据,最近在java工程中遇到类似的问题,在java中也需要根据分隔符读取文件里的所有数据,查找相关javadoc文档找到了一个有用类Scanner。接下来描述这个类在这个问题中的用法: Scanner在javadoc中的描述
win7程序关闭后弹出 程序兼容性助手 这个程序可能安装不正确 如果此程序没有正确安装,处理方式
用WTL编写的程序,编译成release后,在win7上关闭后,弹出这个对话框 处理方法: 将这个xml文件命名成 xxx.exe.manifest,保存到指定目录下 右键工程->properties-->Configuration Properties-->Manifest Tool-->Input and Output-->additional Ma
R语言读入数据
R语言读入数据 已有 3385 次阅读 2012-10-9 15:21 |个人分类:R语言学习|系统分类:科研笔记|关键词:R注入数据 一、   R 导入文本文件   R中导入数据的基本命令是scan()。比较常用的命令有read.table()、read.csv()、read.fwf()等,这些命令其实在内部也是通过调用scan()实现的,它们可以看作是scan()的
帮忙看看这个是为什么..
错误: android.content.res.Resources$NotFoundException: File Hello World, FragmentActivity! from drawable resource ID #0x7f040000: .xml extension required 结构图: textView.setTextColor(getResources
R:从带分隔符的文本文件导入数据
可以使用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式的文件并将其保存为一个数据框。其语法如下: Mytable       其中,file是一个带分隔符的ASCII文本文件,header是一个表明首行是否包含了变量名的逻辑值(TRUE或FALSE),sep用来指定分隔数据的分隔符,rows.names是一个可选参数,用以指定一个或多个表示行标识符的变量。
xshell 的复制粘贴的设置 以及分隔符的设置
我的习惯 左键双击为复制动作 右键单击为粘贴 这一设置过程为: 打开xshell => 工具 =>选项 =>键盘和鼠标 =>向右按钮(选择以paste开头的) => 勾选“将选定的文本自动复制到剪贴板”  =>找到分隔符,并删掉里面的三个符号分别是斜杠 /  点号  .   和横杠 -     (根据自己需要,可自己选择删掉哪些符号)。 然后点击确定 ,自己试一下,是不是可以了。
Qt——QTextStream和QFile文本文件读入时换行符的问题
操作如下(仅摘取核心代码):QFile file("1.txt"); QTextStream in(&file); QString qstr=in.readLine(); QString qstr=file.readLine();QTextStream:qstr中去掉了换行符'\n'QFile:qstr中保留了换行符'\n'...
Java批量将文件中的段落替换成空格,根据指定分隔符换行(SQL示例)
我的需求是SQL文件中有成千的类似数据,我要将它们进行转换格式,如下图 第一步:将字符段楼替换,使用word排版 把数据拷贝到word中,使用特殊字符替换 点击全部替换,替换之后如下图,这时候它是一串很长的字符串 第二步:编写Java替换程序 在代码中num是分割段,到第16个字符时候换行 public class Demo { public stat
MathType 换行后无法对齐,怎么都对不齐!!!强迫症晚期(见图)
问题描述: 如上图,在换行后,第二行自动出现了假tab,其实是没有tab的,再换行后第三行出现了两个假tab。无论怎么复制粘贴到新开的行,都没用!!! 还好有它: 然后一行一行的粘贴,dddd~ 最后每行行首CTRL+ALT+SPACE微调: 如果要继续作的话就会出现这样的结果: 。。。那么问题就... 另外如果模板只开两行,最后公式中的第二行采用回车