Double无法转换为布尔值

时间:2014-10-16 08:39:48

标签: java while-loop boolean double

if语句有问题。它给了我错误" Double无法转换为布尔值。" 一些帮助将是适当的

import java.util.Scanner;

public class Temperatures {

    public static void main(String[] args) {

        Scanner reader = new Scanner(System.in);
        // Write your code here. 
        while(true){
            System.out.println("Enter a temperature: ");
            double value = reader.nextDouble();


            if ( value => 40 && value <= -30){
                System.out.println("Too high or low temperature, try again");
            }else{
                Graph.addNumber(value);
            }
            if (value == 00){
                break;
            }
        }

    }
}

6 个答案:

答案 0 :(得分:1)

=> 

不是大于或等于的正确运算符。

>=

应该有用。

您似乎想测试该值是否介于-30和40之间,所以您需要

if (value >= -30 && value <= 40)

答案 1 :(得分:0)

更改=&gt; to> =在您的情况下。

BTW,值不能大于40且小于-30,所以你的病情可能还有另一个错误。

更改&amp;&amp;到||,因为你需要有条件的,而不是和。

答案 2 :(得分:0)

if的第一部分中的运算符是错误的。它必须是>=而不是=>

if ( value >= 40 && value <= -30){

答案 3 :(得分:0)

 //you had used =>, which is not any operator
if ( value >= 40 && value <= -30){
            System.out.println("Too high or low temperature, try again");
        }

答案 4 :(得分:0)

另一种方法,首先使用所需语义的条件(非错误输入),

        if ( value < 40 && value > -30){
            Graph.addNumber(value);
        }else{
            System.out.println("Too high or low temperature, try again");
        }

还要注意零值

上的强制转换(附加D
        if (value == 0D){
            break;
        }

value == 0.0可能是预期的。

答案 5 :(得分:0)

使用正确的算子

if (value >= -30 && value <= 40)

see this link