按照老师的建议重新修改了作业,完整代码如下
来源:3-4 项目作业
weixin_慕少5379513
2022-07-20 15:51:43
package com.qiu.achievement; import java.util.Scanner; /** * @author:陈俊球 * @Time:2022年7月18日 下午3:36:42 */ public class StudentAch { /* * 显示菜单功能 */ public void displayMenu() { System.out.println("================================="); System.out.println("1--初始化数学成绩"); System.out.println("2--求成绩平均值"); System.out.println("3--统计成绩大于85的人数"); System.out.println("4--修改指定位置的成绩"); System.out.println("5--打印输出所有成绩"); System.out.println("0--退出"); System.out.println("================================="); } /* * 初始化数学成绩 */ public float[] initScore() { Scanner scanner = new Scanner(System.in); int length = 0; System.out.println("输入初始化成绩的个数"); length = scanner.nextInt(); float[] s = new float[length]; for (int i = 0; i < s.length; i++) { System.out.println("输入第" + (i + 1) + "个成绩"); try { s[i] = scanner.nextFloat(); } catch (Exception e) { System.out.println("输入的格式不对"); scanner.next(); i--; } } // scanner.close(); return s; } /* * 求成绩平均值 */ public float average(float[] f) { if (f == null) { System.out.println("请初始化数学成绩"); return 0; } float sum = 0f, avg = 0f; for (int i = 0; i < f.length; i++) { sum += f[i]; } return avg = sum / f.length; } /* * 统计成绩大于85的人数 */ public int count(float[] f) { int count = 0; for (int i = 0; i < f.length; i++) { if (f[i] > 85) { count++; } } return count; } /* * 修改指定位置的成绩 */ public void update(float[] f, int index, float newScore) { Scanner scanner = new Scanner(System.in); while (true) { try { System.out.println("输入修改的位置,从0开始"); index = scanner.nextInt(); System.out.println("输入修改后的分数"); newScore = scanner.nextFloat(); if (index >= 0 && index < f.length) { f[index] = newScore; break; }else { System.out.println("更新失败,修改位置不对"); break; } } catch (Exception e) { // TODO Auto-generated catch block System.out.println("输入格式不对,重新输入"); scanner.next(); } } System.out.println("修改后的成绩为:"); for (float g : f) { System.out.print(g + " "); } // scanner.close(); } /* * 打印输出所有成绩 */ public void displayAllScore(float[] f) { System.out.print("成绩为:"); for (float g : f) { System.out.print(g + " "); } } public static void main(String[] args) { StudentAch sAch = new StudentAch(); int input = 0; int count = 0; int index = 0; String temp; float newScore = 0f; float avg = 0f; float[] s = null; Scanner scanner = new Scanner(System.in); boolean flag = true; while (flag) { sAch.displayMenu(); System.out.println("输入对应数值操作"); try { input = scanner.nextInt(); } catch (Exception e) { System.out.println("输入的格式不对,重新输入0-5的整数"); temp = scanner.next(); continue; } if (input < 0 || input > 5) { System.out.println("输入的数字不对,重新输入0-5的整数"); } switch (input) { case 0: flag = false; System.out.println("退出程序,拜拜!!"); break; case 1: s = sAch.initScore(); System.out.println("初始成绩:"); for (int i = 0; i < s.length; i++) { System.out.print(s[i] + " "); } System.out.println(); break; case 2: if (s == null) { System.out.println("请初始化数学成绩先"); break; } avg = sAch.average(s); System.out.println("数学平均成绩 :" + avg); break; case 3: if (s == null) { System.out.println("请初始化数学成绩先"); break; } count = sAch.count(s); System.out.println("成绩大于85的人数 :" + count); break; case 4: if (s == null) { System.out.println("请初始化数学成绩先"); break; } System.out.println("修改前成绩数据"); sAch.displayAllScore(s); System.out.println(); sAch.update(s, index, newScore); System.out.println(); break; case 5: if (s == null) { System.out.println("请初始化数学成绩先"); break; } sAch.displayAllScore(s); System.out.println(); break; } } } }
1回答
好帮手慕小黑
2022-07-20
同学你好,为了方便同学按照老师的修改建议进行修改,建议同学将项目作业上传到对应的位置,因为在作业区,老师可以上传批复文档,同学可以根据批复文档修改。
祝学习愉快!
相似问题