java - 如何检查字符串是否为有效的 int 或 double

标签 java string

我正在尝试确定用户的输入是否包含有效的 intdouble 而不是有效的 String。如果输入是 intdouble,程序应该声明 "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(当 numbertokens[2])

最佳答案

您可以编写一个函数来通过调用 Double.parseDouble(String) 来测试它并捕获 NumberFormatException (这将处理 doubleint 值)当它不喜欢时

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");
}

printfString 可能看起来像,

String msg = "Invalid make";
System.out.printf("     %s%n", msg);

关于java - 如何检查字符串是否为有效的 int 或 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26793035/

相关文章:

c# - 字符串比较和单个字符的字母顺序

java - SimpleDateFormat 和基于区域设置的格式字符串

java - 使用手动间隙时的组布局、错误/奇怪行为

javadoc @docRoot

javascript - 如何在二维数组中找到字符串?

c++ - C++ 中 objective-c NSString * 的最佳等价物是什么?

java - 如何使用jdbc从eclipse连接到docker容器

java - 应用内简单教程

c - 如何在 C 中扫描特定的字符串格式?

python - 如何从 python 中的字符串中删除 a\