【问题标题】:Double cannot be converted to boolean [closed]双精度不能转换为布尔值[关闭]
【发布时间】:2014-10-16 08:39:47
【问题描述】:

if 语句有问题。它给了我错误“双精度不能转换为布尔值”。 会得到一些帮助

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;
            }
        }

    }
}

【问题讨论】:

  • 将 if ( value => 40 && value = 40 && value
  • if(value >= 40 && value

标签: java while-loop boolean double


【解决方案1】:
=> 

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

>=

应该可以。

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

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

【讨论】:

  • 谢谢你,我犯了一个愚蠢的错误。
  • 不费吹灰之力,很高兴我能帮上忙
【解决方案2】:

在您的情况下将 => 更改为 >=。

顺便说一句,值不能既大于 40 又小于 -30,因此您的情况可能还有另一个错误。

将 && 更改为 ||,因为您需要条件或,而不是与。

【讨论】:

  • 谢谢你,我的愚蠢错误
【解决方案3】:

你的 if 第一部分的操作符是错误的。它必须是&gt;= 而不是=&gt;

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

【讨论】:

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

    【讨论】:

      【解决方案5】:

      使用正确的运算符

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

      see this link

      【讨论】:

        【解决方案6】:

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

                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 可能的意图。

        【讨论】:

          猜你喜欢
          • 2022-01-10
          • 1970-01-01
          • 1970-01-01
          • 2019-07-22
          • 1970-01-01
          • 1970-01-01
          • 2021-09-12
          • 2019-02-24
          相关资源
          最近更新 更多