如何检查变量是double还是string

时间:2016-10-17 12:48:01

标签: java

好的,这是我刚刚开始编码的基本知识。无论如何我做了一个变量;

double radius

我希望if条件能够做到这一点;

if (radius != double) {
    System.out.println("Please enter a number."); }

所以问题是我不知道Java的代码来检查半径是不是双倍。例如一个字符串。我输入的那个显然是错的。 谁能告诉我正确的那个?

2 个答案:

答案 0 :(得分:1)

您可以解析值并捕获异常,例如,您可以尝试这样

 try{
       Double.valueOf("asdasd");
   }
   catch (Exception ex){
       System.out.println("Not a valid double value");
   }

返回Not a valid double value

包装类Double可能会有所帮助。你可以这样做:

 try{
       if(radius instanceof  Double)
            System.out.println(radius);
   }
   catch (Exception ex){
       System.out.println("error");
   }

半径必须声明为Double

PS:instanceof不能与double一起使用,它是一种原始数据类型。

答案 1 :(得分:0)

Scanner sc = new Scanner(System.in);
double radius;
while (true) {
    System.out.println("Input Radius:");
    try {
        inputt = Double.parseDouble(sc.next());
        break;
    } catch (NumberFormatException ignore) {
        System.out.println("Please enter a number.");
    }
}

如果用户输入数字/双精度,则仅中断while循环。