System.out.println("\n What is the chemical symbol for water\n 1.HO2 \n 2.H20 \n 3.OOH \n 4. O2H");
b = input.nextInt();
if (b==2) {
B=20;
}
else if (b != 2) {
B=0;
}
**total= A+B;**
switch (total) {
case 40:
System.out.println("WOW You scored 40/40, you sure know your science");
break;
case 20:
System.out.println("Meh,20/40.");
break;
case 0:
System.out.println("0/40 Better luck next time!");
break;
}
Run Code Online (Sandbox Code Playgroud)
我正在制作一个简单的mcq练习应用程序,它将根据正确答案的数量对用户进行评分.我用if if根据答案给出整数'A'和'B'值.但它给我的错误,在总= A + B是一个 (A已在前面的,如果类似这样的语句被初始化)和乙尚未初始化.任何解决方案 请原谅我一个不高兴的人
Java编译器不会确定至少有一个if和else ifbody将执行并且B将被初始化,因此它认为如果两个条件都失败,则B不会初始化.
你打算让条件成为对立的,所以只有一个条件true,所以只需使用一个else.使用a else而不是a else if,编译器将看到B在以后使用它时将始终初始化.
if (b==2)
B=20;
else
B=0;
Run Code Online (Sandbox Code Playgroud)