Ваш код содержит несколько ошибок:
- Вместо
=
в 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. Они не обязательны, и вы можете оставить их, если вы действительно этого хотите, но проще модифицировать код, не делая ошибок позже.