是代码:爪哇双输入验证
Scanner scan = new Scanner(System.in);
String input = scan.next();
try{
double isNum = Double.parseDouble(input);
if(isNum == Math.floor(isNum)) {
System.out.println("Input is Integer");
//enter a double again
}else {
System.out.println("Input is Double");
//break
}
} catch(Exception e) {
if(input.toCharArray().length == 1) {
System.out.println("Input is Character");
//enter a double again
}else {
System.out.println("Input is String");
//enter a double again
}
}
从这里采取:how to check the data type validity of user's input (Java Scanner class)
然而,当我输入1.0或0.0,但仍然被认为是一个整数,为1.0不被认为是双?
请帮帮忙,谢谢!
我建议扫描输入为一个字符串,并试图解析它为一个int,如果它是成功的,它是一个int。如果没有,然后尝试解析它作为一个浮动 – maxx777
解析之前,你可以检查它是否有字符点(。)来决定它的双倍或整数 –
@ maxx777输入是一个字符串解析到一个双... – user3540710