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;
}
}
}
}
答案 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)