Java 类型不匹配:无法从布尔值转换为双精度

Java 类型不匹配:无法从布尔值转换为双精度,java,double,Java,Double,此行的错误是类型不匹配:无法从布尔值转换为双精度 问题是我计算的所有值都是双倍的,我真的很困惑 if(price == minprice < .20 * minprice){ if(price==minprice

此行的错误是类型不匹配:无法从布尔值转换为双精度

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

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

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

您正在将布尔值与双精度值进行比较。
下面是该行正在做的工作的细分:

price==minprice
将给出一个布尔值,指示price是否等于minprice,然后询问它是否小于
.20*minprice

因此,您询问从
price==minprice
得到的布尔答案是否小于
.20*minprice

基本上,您的代码相当于:

if((price==minprice) < .20*minprice){...
if((price==minprice)<.20*minprice){。。。
Java按顺序计算每个表达式。我不确定您究竟要计算什么,但正确的语句应该是:

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

请用文字表达该条件。