如何在if语句中声明值?(在java中)

0 java if-statement variable-declaration

所以这是我到目前为止,我不知道为什么程序没有响应我想要的方式.继续显示"avg2可能尚未初始化".有任何想法吗??

if (a < b && a < c) {
    System.out.println("The lowest score was: " + a);
    System.out.println("The average without the lowest score is: " + ((b + c) / 2));
    avg2 = ((b + c) / 2);
}

if (b < a && b < c) {
    System.out.println("The lowest score was: " + b);
    System.out.println("The average without the lowest score is: " + ((a + c) / 2));
    avg2 = ((a + c) / 2);
}

if (c < a && c < b) {
    System.out.println("The lowest score was: " + c);
    System.out.println("The average without the lowest score is: " + ((a + b) / 2));
    avg2 = ((a + b) / 2);
}
Run Code Online (Sandbox Code Playgroud)

ass*_*ias 7

我想你已经宣布avg2是这样的:double avg2;没有初始值.问题是,a == b == c例如,如果您的if条件都不是真的并且avg2不会被初始化.

  • 解决方案1:初始化avg2: double avg2 = 0;
  • 解决方案2(更好):使用if/else if/else语法而不是连续的ifs.如果有else,编译器将满足avg2将始终初始化.