在java上只取一个输出

Cal*_*sir -4 java if-statement

这是一个我知道的简单问题,但我对此感到困惑.我试图获得这样的输出;

CourseG, CourseF and CourseE are available
Run Code Online (Sandbox Code Playgroud)

但我的输出是这样的;

CourseE is available
CourseG, CourseF, CourseE are available
CourseF and CourseE are available
Run Code Online (Sandbox Code Playgroud)

我的算法是;

if(a == 1){
    System.out.println("CourseE is available");
}
if(a ==1 && b == 1 && c == 1){
    System.out.println("CourseG, CourseF, CourseE are available");
}
if(a == 1 && b == 1){
    System.out.println("CourseF and CourseE are available");
}
else{
    System.out.println("no available Course");
}
Run Code Online (Sandbox Code Playgroud)

感谢您的关注.

brs*_*o05 5

你应该首先检查最大的然后使用elseif语句ex.

if(a ==1 && b == 1 && c == 1){
     System.out.println("CourseG, CourseF, CourseE are available");
}
else if(a == 1 && b == 1){
     System.out.println("CourseF and CourseE are available");
}
else if(a == 1){
     System.out.println("CourseE is available");
}
else{
     System.out.println("no available Course");
}
Run Code Online (Sandbox Code Playgroud)

首先从最大范围开始,然后继续努力.