java错误:不可比较的类型:double和<null>
我的代码给出了以下错误:
error: incomparable types: double and .
我不知道为什么
这就是我想做的:
我有一个公式(谁给我一个双精度),但如果这个公式没有给我答案(除以零,…)我要打印:没有答案
beta&;阿尔法是2双,你可以选择
double valueOne = valueOne(alfa,beta);
double valueTwo = valueTwo(alfa,beta);
public double valueOne(double alfa, double beta)
{
return (-(Math.sqrt((-beta)/alfa)))+alfa;
}
public double valueTwo(double alfa, double beta)
{
return (Math.sqrt((-beta)/alfa))+alfa;
}
if(valueOne == null && valueTwo == null)
{
System.out.println("No values");
}
# 1 楼答案
我想你误解了一些事情
# 2 楼答案
我想你需要这样的东西:
此方法以双精度数组的形式返回进程的结果(因为您有两个值)。
在
try
块中,我们尝试计算答案并将它们放入数组中。 在catch
块中,我们处理每个异常(NullPointerException
或DivisionByZero
或…)通过调用System.println();
为我们打印给定字符串。希望能有帮助
# 3 楼答案
您可以使用字符串操作,因为java不允许基元类型具有空值。 如果字符串为空,则不会显示任何值。我希望这有帮助
# 4 楼答案
首先
valueOne
和valueTwo
都是方法,但您尝试将它们称为变量(?)第二,无论如何,这些方法和(如果定义相同类型的变量)的返回类型是
double
,这是一个原语,不能是null
null
是一个特殊值,只能与对象引用一起使用以一些java教程为例,从一开始就解释java类型
# 5 楼答案
将
double
与null
进行比较当然是非法的,因为第一个是值类型,并且值类型在与引用类型进行比较时绝不是null
所代表的值类型。此页面可能会帮助您区分这两种:What’s the difference between a primitive type and a class type in Java?如果您不想对无效值或结果抛出异常,您的方法可以使用
Double.NaN
constnt字段:Sample at ideone