学生成绩管理(保存到数组 长度5)
1.录入学生成绩
2.打印学生成绩
3.打印考试最高分
4.打印考试最低分
5.打印考试平均分
6.统计及格率(显示格式为60%)
7.查询考试成绩为某分的人数(7-->67)
8.退出系统
最好使用方法来实现功能。
代码:
public class practice2 { public static void main(String[] args) { start(); } public static Scanner sc=new Scanner(System.in); public static int students[]= new int[5]; public static void start(){ lq:while(true){ printf1(); int num=sc.nextInt(); switch (num) { case 1: login();break; case 2: print2();break; case 3: max();break; case 4: min();break; case 5: arrv();break; case 6: hege();break; case 7: chaxun();break; case 8: System.out.println("欢迎下次光临"); break lq; } } } public static void printf1(){ System.out.println("-----学生成绩管理系统------"); System.out.println("-----1.录入学生成绩------"); System.out.println("-----2.打印学生成绩------"); System.out.println("-----3.打印考试最高分------"); System.out.println("-----4.打印考试最低分------"); System.out.println("-----5.打印考试平均分------"); System.out.println("-----6.统计及格率------"); System.out.println("-----7.查询考试成绩为某分的人------"); System.out.println("-----8.退出系统------"); } public static void login(){ System.out.println("输入学生的成绩:"); for(int i=0;i<5;i++){ students[i]=sc.nextInt(); } } public static void print2(){ System.out.println("打印学生的成绩:"); System.out.println(Arrays.toString(students)); } public static void max(){ int max=0; for(int i=0;i<4;i++){ max=students[i]>students[i+1]?students[i] :students[i+1]; ; } System.out.println("打印最高分:"+max); } public static void min(){ int min=0; for(int i=0;i<4;i++){ min=students[i]<students[i+1]?students[i] :students[i+1]; ; } System.out.println("打印最低分:"+min); } public static void arrv(){ System.out.println("打印平均分"); int sum=0; for (int i=0;i<5;i++ ){ sum+=students[i]; } System.out.println("打印平均分:"+(sum/5)); } public static void hege(){ System.out.println("及格率"); int cout=0; for (int i=0;i<5;i++ ){ if(students[i]>60){ cout++; } } double jige=(double)cout/5; System.out.println("及格率:"+jige*100+"%"); } public static void chaxun(){ System.out.println("查询的考试成绩:"); int grade=sc.nextInt(); int cout=0; for (int i=0;i<5;i++ ){ if(grade==students[i]){ cout++; } } System.out.println(grade+"分有"+cout+"人"); } }
这种题建议先搭好框架,把每个要求都写成一个方法,先把方法名命名好
main方法中尽量少写代码:
例如这样搭建框架:
public static void start(){ lq:while(true){ printf1(); int num=sc.nextInt(); switch (num) { case 1: login();break; case 2: print2();break; case 3: max();break; case 4: min();break; case 5: arrv();break; case 6: hege();break; case 7: chaxun();break; case 8: System.out.println("欢迎下次光临"); break lq; } } }
这样main方法中只用写一个start()方法即可。
可以根据每个要求来补写下面每个方法的方法体。