用java做题根据输入的分数,输出该成绩的等级(如优秀、良好、中、几个或不及格?

如题所述

import java.util.Scanner;

public class DemoTest03 {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的成绩,按回车键确定...");
int grade = sc.nextInt();
char rank;
/*
确定成绩的范围,具体到数据
*/
if(grade >= 90) rank = 'S';
else if(grade >= 80) rank = 'A';
else if(grade >= 70) rank = 'B';
else if(grade >= 60) rank = 'C';
else rank = 'D';
/*
switch不能判断表达式
在JDK1.5之前,switch循环只支持byte short char int四种数据类型.

JDK1.5 在switch循环中增加了枚举类与byte short char int的包装类------》对四个包装类的支持是因为java编译器
在底层手动进行拆箱,而对枚举类的支持是因为枚举类有一个ordinal方法,该方法实际上是一个int类型的数值.

JDK1.7在switch循环中增加了String类型-------》但实际上String类型有一个hashCode算法,结果也是int类型.

而byte short char类型可以在不损失精度的情况下向上转型成int类型.所以总的来说,可以认为switch中只支持int.
*/
switch (rank) {
case 'S' :
System.out.println("优秀");
break;
case 'A' :
System.out.println("中");
break;
case 'B' :
System.out.println("良好");
break;
case 'C' :
System.out.println("及格");
break;
case 'D' :
System.out.println("不及格");
break;
default :
System.out.println("系统错误,不存在的等级!");
break;
}
}
}
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网