(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写笔记找找太麻烦了,那就用博客记录一下。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部