要求:编写程序实现学生成绩等级划分,输入考试成绩等级,程序会相应输出相应的百分制分数段,要求需使用switch语句。
主要知识点:if语句和switch语句结合使用。
通常我们做过的题目中要求都是有规律的等级划分,例如每间隔十分一个等级段,60~70为C,70~80为B,80~90为A,诸如此类。这种题目我们可以直接用十位数的数字大小来判断,给输入的分数除以10,再根据十位数的不同情况,进入相对应的case语句中做出等级判断。
今天的题目是没有规律的成绩划分,要求如下表格:
等级 | A | B | C | D |
分数< | 84~100 | 70~84 | 60~69 | <60 |
其实只需要在对应的case语句里再进行一次if语句的判断即可,即先用switch语句做大范围的判断,再用if语句做小范围的判断。具体代码实现如下:
import java.util.Scanner;
public class Grade {
public static void main ( String[] args ) {
Scanner sc = new Scanner ( System.in ) ;
System.out.println ( "输入要进行等级评定的同学的成绩" ) ;
int grade = sc.nextInt () ;
int grades = grade / 10 ;
if ( grade >= 0 && grade<= 100 ) {
switch (grades){
case 0 :
case 1 :
case 2 :
case 3 :
case 4 :
case 5 :
System.out.println( "该学生成绩为D " ) ;
break;
case 6 :
System.out.println( "该学生成绩为C " ) ;
break;
case 7 :
case 8 :
case 9 :
case 10 :
if ( grade > 70 && grade < 84 ){
System.out.println("该生成绩为B");
} else {
System.out.println("该生成绩为A");
}
}
}
}
}