Java 获得';其他';没有';如果';错误,我不知道怎么做
以下代码导致语法错误Java 获得';其他';没有';如果';错误,我不知道怎么做,java,Java,以下代码导致语法错误'else'而不带'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 o
'else'而不带'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!");
}
}
}
你需要把所有的东西都放在括号里
if ((age >= 10) && (height >= 48)) {
用此代码替换if---else条件
if ((age >= 10) && (height >= 48)) {
System.out.println("You can ride!");
} else {
System.out.println("You cannot ride!");
}
在“')之后有分号。请删除分号。这是主要问题
if (age >= 10) && (height >= 48);
我建议您使用
nextInt
而不是nextByte
。还要编写if语句,如if((年龄>=10)和&(身高>=48))
这应该能解决你的问题 你需要做什么
if ((age >= 10) && (height >= 48)) {
System.out.println("You can ride!");
} else {
System.out.println("You cannot ride!");
}
因为表达式(年龄>=10)和&(身高>=48)
需要在if
块中完全求值
if (age >= 10) && (height >= 48);
请看您添加的这一行结尾和if语句未正确括起。因此,将这两个语句都放在一个偏执句中,并删除现在语句变为
if ((age >= 10) && (height >= 48)) {
阅读此链接:替换
if (age >= 10) && (height >= 48)
if ((age >= 10) && (height >= 48))
与
而不是
if (age >= 10) && (height >= 48);
看一看:这是您修改过的代码,我刚刚添加了()第一个和最后一个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!");
}
}
}
但有一件事我必须告诉你“你有多高?不接受十进制数 一个字节不会比一个整数节省更多的内存吗,特别是当这个人不应该超过-128或+127时?是的!但是如果你把if语句搞砸了,可能更容易坚持int。只是一个建议!总有一天,人类的预期寿命将超过128岁,您的代码将失败:)@jasonecastro:处理器无法访问任何小于其寄存器大小(32位/64位)的内容。如果JVM能够将多个字节变量(例如4)合并到一个“处理器字”中,那么一个字节实际上可以节省内存。我不知道Java中有这样的优化。因此,
字节
很可能使用与长字节
相同的内存量。然后我应该将高度声明为浮点数,对吗?是的,您还需要调用.nextFloat();//用于在.nextInt()中接受浮点;//用于在.nextDouble()中接受int;//接受双重待遇等。。。下面是scanner类外部括号的文档。。。。如果((年龄>=10)&(身高>=48))如果(年龄>=10)&(身高>=48);=>;关闭语句。如果,请删除后面的分号,并将所有内容放在括号中。
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!");
}
}
}