类型不匹配:不能从布尔型转换为双精度



这一行的错误是Type mismatch: cannot convert from boolean to double

问题是我计算的所有值都是双精度,我真的很困惑。

 if(price == minprice < .20 * minprice){

距离我上次用Java编程已经有几年了,如果这是一个愚蠢的问题,我很抱歉。

您正在将布尔值与双精度值进行比较。
下面是这一行所做的分解:

price == minprice将给出一个布尔值,指示price是否等于minprice,然后询问它是否小于.20*minprice
所以你问是否布尔答案你从price == minprice得到小于.20*minprice

基本上,你的代码相当于:
if((price==minprice) < .20*minprice){...

Java按顺序计算每个表达式。我不确定你到底想计算什么,但正确的表述应该是:

if(price < .20*minprice){...

最新更新