我试图确定用户的输入是否包含有效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]);
}
Run Code Online (Sandbox Code Playgroud)
编辑:对不起困惑的家伙.."tokens []"是一个字符串数组.
如果用户输入make = 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;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以这样称呼它
if (isNumber(tokens[2])) {
System.out.println(" Invalid make");
}
Run Code Online (Sandbox Code Playgroud)
而printf有String可能的样子,
String msg = "Invalid make";
System.out.printf(" %s%n", msg);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4998 次 |
| 最近记录: |