我对Java非常陌生,遇到了一些麻烦。我觉得这很容易解决。基本上,我希望在满足两个条件的情况下返回声明。下面是我的附加代码。
boolean Windy = false;
if (Windy = true)
return "It is Windy";
else
return "Not Windy";
if (temperature < 30);
{return "Too Windy or Cold! Enjoy watching the weather through the window";
在尝试更改脚本后,抛出了其他错误,声称需要返回语句。
答案 0 :(得分:3)
您的代码包含几个错误:
=
中的Windy = true
应该是==
。 =
用于分配某些内容,==
用于检查是否相等。if (Windy = true) return "It is Windy"; else return "Not Windy";
将始终返回两个中的一个,所以下面的其余代码将无法访问,并且将永远不会执行。if (temperature < 30);
末尾的分号。{}
块。我认为这是您在代码中寻找的东西
boolean windy = false;
if(windy){
return "It is Windy";
} else if(temperature < 30){
return "Too Windy or Cold! Enjoy watching the weather through the window";
} else{
return "Not Windy";
}
当然,将windy
设置为false
硬编码的种类也会使第一笔支票也无法达到。但是我认为这只是您的示例代码,在您的实际代码中,您将windy
作为类变量或方法参数进行了检索。
此外,由于windy
本身是布尔值,因此== true
是多余的,仅if(windy)
就足够了。
PS:Java中的变量名最好是camelCase,因此在这种情况下,请使用windy
代替Windy
。
我还在if / else-if / else语句周围添加了括号。它们不是必需的,如果您确实愿意,可以将其排除在外,但是修改代码更容易,以后不会出错。
答案 1 :(得分:0)
好的,我检查了您的图片(通常不做),并在您的代码中发现了几个问题。
public static String getWeatherAdvice(int temperature, String description)
{
{ // REMOVE THIS BRACKET
if ( Windy = true) // = signifies an assigning a value, not a comparison. Use ==
return "It is Windy";
else
return "Not Windy";
if ( temperature < 30 ); // Since the above if-else will always return a value, this
// code can not be reached. Put this if before the previous if-else. Also: remove the ; after the if statement, otherwise, it ends the if, and the return statement might be triggered.
{ // don't put this bracket if you have a ; after the if
return "Too windy ... ";
} // don't put this bracket if you have a ; after the if
} // REMOVE THIS BRACKET
}
代码的更正版本(可能是):
public static String getWeatherAdvice(int temperature, String description)
{
if ( temperature < 30 )
{
return "Too windy ... ";
}
if ( Windy == true) // can also be written as: if ( Windy )
return "It is Windy";
else
return "Not Windy";
}
答案 2 :(得分:0)
您可以使用“ &&” =和“ ||”比较条件=或:
if (Windy && temperature < 30) {
return "it's windy and temperature is <30";
} else if (!Windy && temperature > 30) {
return "Not Windy";
}