问题描述
- 帮忙看看这个程序,为什么设置读取的分隔符为换行后无法正确读入数据
-
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);
}
}
帮忙看看这个程序,为什么设置读取的分隔符为换行后无法正确读入数据
解决方案
正确的分隔符不应该是"n"(单个换行),而应该是"rn"(回车换行)才对。修正如下,就正确了:
scan.useDelimiter("rn");
解决方案二:
你怎么输入的,我没发现问题
http://ideone.com/LWZXql
请输入整数:
请输入小数
整数:1
小数2.1
时间: 2024-10-31 15:55:58