按照老师的建议重新修改了作业,完整代码如下

来源: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

同学你好,为了方便同学按照老师的修改建议进行修改,建议同学将项目作业上传到对应的位置,因为在作业区,老师可以上传批复文档,同学可以根据批复文档修改。

祝学习愉快!

1

0 学习 · 9886 问题

查看课程