(Java实现)从键盘接收两门课程成绩,分级后输出两门课程对应的级别。
具体操作要求:
从键盘接收两门课程JAVA 和高等数学成绩,按照如下方式分级后输出两门课程对应的级别。
0-59:E级、60-69:D级、70-79:C级、80-89:B级、90-100:A级
要点:
1.从键盘输入多个数值
2.需要将数值分级后输出
思路:
1.使用Scanner实现输入。输入一门课成绩后返回对应的等级,再让用户输入下一门课。
2.使用switch-case实现分级
初级代码如下:
import java.util.Scanner;public class T3 { /** 从键盘接收两门课程JAVA 和高等数学成绩,分级后输出两门课程分数对应的级别*/public static void main(String[] args) {Scanner sc =new Scanner(System.in);System.out.println("请输入Java成绩:");int Java_Point=sc.nextInt();switch(Java_Point/10) {case 10:case 9:System.out.println("你的Java成绩为A级");break;case 8:System.out.println("你的Java成绩为B级");break;case 7:System.out.println("你的Java成绩为C级");break;case 6:System.out.println("你的Java成绩为D级");break;case 5:case 4:case 3:case 2:case 1:case 0:System.out.println("你的Java成绩为E级,请端正学习态度!");break;}System.out.println("请输入高数成绩:");int Math_Point=sc.nextInt();switch(Math_Point/10) {case 10:case 9:System.out.println("你的高数成绩为A级");break;case 8:System.out.println("你的高数成绩为B级");break;case 7:System.out.println("你的高数成绩为C级");break;case 6:System.out.println("你的高数成绩为D级");break;case 5:case 4:case 3:case 2:case 1:case 0:System.out.println("你的高数成绩为E级,请端正学习态度!");break;}sc.close(); //使用sc.close()结束Scanner}
}
发现问题:
重复使用了switch-case结构导致代码冗长
每个case都写了一条输出语句,输出语句可以放到最后统一写
解决思路:
在main函数外创建一个与Switch等功能的函数,实现Switch语句的复用
在switch 语句里用default省去case543210
示例代码如下,也是老师那里提供的答案:
import java.util.Scanner;
public class TestScore { //在测试类中建立一个score函数用于复用static void score(int a) {char grade;switch(a/10) {case 10: case 9:grade='A'; break; case 8:grade='B'; break;case 7:grade='C';break;case 6:grade='D';break;default:grade='E'; break;}System.out.println("grade is:"+grade); //确定grade值后统一输出 }public static void main(String args[]) {Scanner sc=new Scanner(System.in);System.out.println("输入java成绩");int javaScore=sc.nextInt();System.out.println("输入math成绩");int mathScore=sc.nextInt();System.out.print("java等级是");score(javaScore);System.out.print("math等级是");score(mathScore);sc.close();}}
代码运行结果:

其实要再完善一点还能提出个要求“实现多门课程的成绩分级”,解决起来也蛮简单,不过这类题一般都是用于训练新手(例如我这种菜鸡)学会switch语句的,所以就先到这吧。
问题很初级,实现也很简单,主要是利用函数实现代码复用这块比较有价值,用word写笔记找找太麻烦了,那就用博客记录一下。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
