以下代码会导致语法错误'else' without 'if'
。
我也无法从if语句中删除分号,因为它也会给我一个错误,告诉我我错过了分号。
import java.util.Scanner;
class cake {
public static void main(String[] args) {
byte age, height;
Scanner in = new Scanner(System.in);
System.out.println("How old are you?");
age = in.nextByte();
System.out.println("How tall are you?");
height = in.nextByte();
if (age >= 10) && (height >= 48); {
System.out.println("You can ride!");
} else {
System.out.println("You cannot ride!");
}
}
}
答案 0 :(得分:9)
if (age >= 10) && (height >= 48);
查看最后添加; 的行,if语句未正确附加。因此,将两个语句括在单个paranthesis中并删除; ,现在语句变为
if ((age >= 10) && (height >= 48)) {
答案 1 :(得分:5)
您需要将所有内容放在括号内
if ((age >= 10) && (height >= 48)) {
答案 2 :(得分:2)
你需要做
if ((age >= 10) && (height >= 48)) {
System.out.println("You can ride!");
} else {
System.out.println("You cannot ride!");
}
因为需要在(age>=10) && (height >= 48)
块中完全评估表达式if
。
答案 3 :(得分:0)
用此代码替换你的if --- else条件
if ((age >= 10) && (height >= 48)) {
System.out.println("You can ride!");
} else {
System.out.println("You cannot ride!");
}
答案 4 :(得分:0)
')'删除分号后你有分号。这是主要问题。
if (age >= 10) && (height >= 48);
答案 5 :(得分:0)
我建议您使用nextInt
代替nextByte
。另外写一下if语句,如if((age >= 10) && (height >= 48))
。
这可以解决你的问题!
答案 6 :(得分:0)
替换
if (age >= 10) && (height >= 48)
带
if ((age >= 10) && (height >= 48))
答案 7 :(得分:0)
if ((age >= 10) && (height >= 48))
而不是
if (age >= 10) && (height >= 48);
答案 8 :(得分:0)
这是你修改过的代码,我刚刚添加了()@If条件的第一个和最后一个
现在工作正常。
import java.util.Scanner;
class Cake {
public static void main(String[] args) {
byte age, height;
Scanner in = new Scanner(System.in);
System.out.println("How old are you?");
age = in.nextByte();
System.out.println("How tall are you?");
height = in.nextByte();
if ( (age >= 10) && (height >= 48) ) {
System.out.println("You can ride!");
} else {
System.out.println("You cannot ride!");
}
}
}
但我必须告诉你的一件事是“你有多高?不接受十进制数字。