如果没有,我会继续努力。有什么想法吗?谢谢大家。顺便说一下,我是学生,所以请耐心等待。
public class QuizGrading
{
public static void main (String [] args)
{
int grade = 100;
Scanner in = new Scanner (System.in);
grade.input.in.nextlnt();
{
System.out.print("Please enter grade");
}
if (grade >= 90)
{
System.out.println("You have been graded A");
}
else if (grade <= 80 && >= 89)
{
System.out.println("You have been graded B");
}
}
}
答案 0 :(得分:3)
尝试使用else if (grade <= 80 && grade >= 89)
代替else if (grade <= 80 && >= 89)
。请注意表达式右侧引用的成绩变量。
答案 1 :(得分:2)
将in变量分配到grade变量中,并使用grade变量更改if条件的内部。如果您看到在线java教程,将会很有帮助。
答案 2 :(得分:1)
您有问题的一行是:
else if (grade <= 80 && >= 89)
这是无效的语法,可以通过在后半部分插入grade
来修复:
else if (grade <= 80 && grade >= 89)
但是,我希望你能告诉我,同时,小于或等于80 和的数字大于或等于89。自从我上大学课程以来已经有一段时间了,但我不认为基础数学已经大大改变了 :-)我瘦了你的意思说的是:< / p>
else if (grade >= 80 && grade <= 89)
但请参阅下面的更好解决方案。
您需要修复该代码中的一些问题。
在接受后,您要求用户输入。您的Please enter grade
应该在扫描仪输入之前到来。你也可以在一个区块内询问,这里没有必要。
您的第一个if
语句会检查一些神秘的A
变量,而不是正确的grade
。
如前所述,您的else if
是错误的意思。这可以通过反转<=
和>=
符号来解决,但由于您已经在else
位,这意味着您不 {{ 1}}这样你就可以逃脱下界检查。
您似乎在呼叫>= 90
(使用小写nextlnt
而不是大写l
。
通常最好使用默认I
,这样您就可以看到代码中发生了什么。
修复这些问题可以提供类似的内容:
else