Java编程,switch语句,必须使用switch,不可以使用if???

2025-03-23 19:08:03
推荐回答(5个)
回答1:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int score = 0;
    do {
        System.out.print("请输入分数(输入0退出):");
        score = scanner.nextInt();
        int level = score/85;//分数除以优秀分数线
        switch(level){
            case 0:
            {
                level = score/60;//分数除以及格线
                switch(level){
                    case 0:
                        System.out.println("不及格!");
                        break;
                    default:
                        System.out.println("及格!");
                }
            }
                break;
            default:
                System.out.println("优秀!");
        }
    } while (score!= 0);
}

完全用switch写的,没用到if
如果优秀和及格最低分数有变化,直接修改被除数即可。

回答2:

首先这个肯定是可以使用if的,不一定要使用switch。其次两种都使用也是可以的。

public class Switch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int in = 0;
do {
System.out.print("请输入分数(输入0退出):");
in = scanner.nextInt();
int flag = 3;
if (in >= 85) {
flag = 1;
} else if (in >= 60) {
flag = 2;
} else {
flag = 3;
}
switch (flag) {
case 1:
System.out.println("优秀");
break;
case 2:
System.out.println("及格");
break;
default:
System.out.println("不及格");
break;
}
} while (in != 0);
}
}

回答3:

int a=XX;输入的数
double b=分数;
switch(a){
case 1:
if(分数>85 && 分数<100){
}
break;
}
还是你的意思是 ,不可以使用if 只用 switch

回答4:

int score = 85;
int level = score/5;
switch(level){
case 20:
case 19:
case 18:
case 17:
// sysout(优秀)
break;
case 16:
case 15:
case 14:
case 13:
case 12:
// sysout(及格)
break;
default:
// sysout(不及格)
}

回答5:

我觉得if挺好

public String baiduKnow(double d){
String level;
if(d>=85&&d<=100){
level="A";
}else if(d>=60&&d<=84){
level="B";
}else {
level="不及格,回家别念了,负分滚粗";
}
return level;
}