我正在尝试确定用户的输入是否包含有效的 int
或 double
而不是有效的 String
。如果输入是 int
或 double
,程序应该声明 "Invalid make"
。
这是我的代码:
else if (tokens[0].equals("make"))
{
if (!tokens[2].equals(String)) System.out.println(" Invalid make");
// I have 5 spaces above because I don't know how to use printf with strings
searchByMake(tokens[2]);
}
编辑:很抱歉让大家感到困惑。“tokens[]”是一个字符串数组。
如果用户输入 make = number(当 number 是 tokens[2]时,我试图让我的程序打印“Invalid Make”
)
最佳答案
您可以编写一个函数来通过调用 Double.parseDouble(String)
来测试它并捕获 NumberFormatException
(这将处理 double
和 int
值)当它不喜欢时
public static boolean isNumber(String str) {
try {
double v = Double.parseDouble(str);
return true;
} catch (NumberFormatException nfe) {
}
return false;
}
然后你可以这样调用它
if (isNumber(tokens[2])) {
System.out.println(" Invalid make");
}
printf
和 String
可能看起来像,
String msg = "Invalid make";
System.out.printf(" %s%n", msg);
关于java - 如何检查字符串是否为有效的 int 或 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26793035/