【发布时间】:2017-05-10 05:05:37
【问题描述】:
我想区分 int/float/string 输入,我正在尝试读取输入
Scanner scan = new Scanner(System.in);
这提供了字符串格式的输入,如果我想检查输入是整数/浮点数还是字符串,我该怎么做? 我做了这样的事情
try{
float i = Float.parseFloat(scan.nextLine());
if(i%1==0){
then it is integer
}else{
it is float
}
}catch (NumberFormatException e)
something else, may be string
}
但是 java 是否提供了任何方法或方式来以编程方式识别输入是否为 string/int/float。
【问题讨论】:
-
您必须定义“是输入字符串、整数还是浮点数”的含义。首先,每个输入都是一个字符串。所以我假设通过“字符串”你只看你不想算作整数或浮点数的字符串。那么哪些字符串算作整数呢? “20.0”是整数吗? “22222222222”对于
int来说太大但适合long,怎么样? “2222222222222222222222”对于long来说太大了,但可以放在float中(精度损失)? “0x1234”怎么样? “1.25e2”(等于 125)?
标签: java string types floating-point integer