我的代码将运行,但如果 isBalloon 和 isRed 都为 true,它会打印“不是气球”而不是“红色气球”
import java.util.Scanner;
public class RedBalloon {
public static void main (String [] args) {
boolean isRed = false;
boolean isBalloon = false;
if ((isBalloon == true) && (isRed == false)){
System.out.println("Balloon");
if ((isBalloon == true) && (isRed == true)){
System.out.println("Red balloon");
}
}
else {
System.out.println("Not a balloon");
}
return;
}
}
语句嵌套不正确。添加大括号
{}
,您的 IDE 将对其进行格式化,从而显示错误。
您的缩进已关闭,并且您错过了右大括号(和
else
)。根据您的print
,我认为您想要
if (isBalloon) {
if (isRed) {
System.out.println("Red balloon");
} else {
System.out.println("Balloon");
}
} else {
System.out.println("Not a balloon");
}
或
if (isBalloon && isRed) {
System.out.println("Red balloon");
} else if (isBalloon) {
System.out.println("Balloon");
} else {
System.out.println("Not a balloon");
}
因为您的
if
嵌套不正确,一旦正确缩进就清楚了。
在第二个if语句中,您需要在if之前添加else。这对我有用