我正在尝试在java中的第一个if / else语句中嵌入第二个if / else语句,但是继续得到一个错误语句,其中包含错误“else without if”。
if (m <= 5) {
System.out.println("BF: 0 ");
System.out.println("CF: 0");
System.out.println("U: 0");
System.out.println("T: 0");
}
else if (m > 5 <= 20) {
int b = (m / 5 * 30);
System.out.println("BF: " + b);
if (CZ = yes); {
int c = b * 2;
System.out.println("CZF : " + c);
}
else (CZ = no); {
int c = 0;
System.out.println("CZF: 0");
}
int u = 0;
System.out.println("UE: 0");
System.out.println("T: " + b + c + u );
}
答案 0 :(得分:1)
if (CZ = yes); {
有一个额外的“;”,结束if
语句。
您的代码还有其他问题。例如,CZ = yes
会将yes
的值分配给CZ
。如果它们是boolean类型,它仅作为if条件有效。
答案 1 :(得分:1)
您的代码存在许多问题:
else if (m > 5 <= 20) {
应该是else if (m <= 20) {
if (CZ = yes); {
有一个分号 - 它不应该else (CZ = no); {
有一个分号 - 它不应该if (CZ = yes); {
没有使用==
进行布尔比较。将其更改为if (CZ == yes) {
else (CZ = no); {
相同的比较问题另外
System.out.println("T: " + b + c + u );
将连接int
s b, c, u
的字符串版本(例如,如果它们都等于1
,您将打印T: 111
)。这是你想要的,还是你想要总结它们?如果是,请先将括号括在括号中:System.out.println("T: " + (b + c + u) );
。if (CZ = yes); {
是指一个名为yes
的变量,您的意思是使用它还是字符串"yes"
?else (CZ = no); {
同样的问题 - 变量no