我的代码给我这个错误:
error: incomparable types: double and .
我不知道为什么。
这就是我想要做的:
我有一个公式(谁给了我一个双)但是如果这个公式没有给我答案(除以零,...)我想打印:没有答案!
beta & alfa 是2个 double ,你可以选择。
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");
}
最佳答案
将 double
与 null
进行比较当然是非法的,因为第一个是值类型,而值类型永远不会是 null
null
在与引用类型进行比较时代表。此页面可能会帮助您区分两者:What’s the difference between a primitive type and a class type in Java?
如果您不想对无效值或结果抛出异常,您的方法可以使用 Double.NaN
constnt 字段:
public double valueOne(double alfa, double beta)
{
// At least one of the values is invalid.
if (Double.isNaN((alfa) || Double.isNaN((beta))
{
return Double.NaN;
}
// Check the alpha or otherwise a div/0 exception may be thrown.
if (alfa == 0.0)
{
return Double.NaN;
}
double divResult = (-beta)/alfa;
// Check the div result because Math.sqrt accepts only positive values:
// If the argument is NaN or less than zero, the result is NaN.
if (divResult < 0.0)
{
return Double.NaN;
}
return (-(Math.sqrt(divResult)))+alfa;
}
double resultValueOne = valueOne(alfa, beta);
if(Double.isNaN((resultOne))
{
System.out.println("No resultValueOne");
}
关于java - 错误 : incomparable types: double and <null>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27794416/