Java学生成绩管理系统(完善版)

一、前言

之前发的Java学生成绩管理系统博文只有代码,为更加完善Java学生成绩管理系统,所以增加了控制台运行结果显示以及功能实现等图片;

本学生成绩管理系统是我在上学时写的,有一些地方没能完美实现,请包涵也请多赐教,但这个博文会满足部分大学学生的需求

该系统只能在控制台(eclipse等版本)上运行

二、代码部分

首先需要新建一个Java项目,在建立包,然后创建三个类分别是如下的Stuednt类、Admin类、StudentAdmin类

定义Student学生类

package com.edu.p1;

public class Student {
	private int num;                            //学号
	private String name;                        //姓名
	private int age;                            //年龄
	final String[]course={"数学","语文","英语"}; //科目
	private int score[]=new int[3];             //三个成绩数组
	private int avg;                            //平均成绩
	private int sum;                            //总成绩
	public int getNum() {                       //返回学号
		return num;
	}
	public void setNum(int num) {               //设置学号
		this.num = num;
	}
	public String getName() {                   //返回姓名
		return name;
	} 
	public void setName(String name) {          //设置姓名
		this.name = name;
	}
	public int getAge() {                       //返回年龄
		return age;
	}
	public void setAge(int age) {               //设置年龄
		this.age = age;
	}
	public int[] getScore() {                   //返回指定科目和成绩
		return score;
	}
	public void setScore(int[] score) {         //设置科目和成绩
		this.score = score;
	}
	public int getAvg() {                       //返回平均分
		return avg; 
	}
	public void setAvg(int avg) {               //设置平均分
		this.avg = avg;
	}
	public int getSum() {                       //返回总分
		return sum;
	}
	public void setSum(int sum) {               //设置总分
		this.sum = sum;
	}
	public String[] getCourse() {               //重写toString方法
		return course;
	}
	public String toString(){
		String msg="\t"+this.num+"\t"+this.name+"\t"+this.age+"\t";
		for(int i=0;i

定义Admin——用来管理学生的类

package com.edu.p1;

import java.util.Scanner;

public class Admin {      //用来管理学生的类
	static int i;         //静态变量,用来保存每次录入学生的学号,自动生成
	static String msg;    //显示学生信息表的表头字符串
	//----------创建生成学生信息表头的字符串    学号  姓名   年龄  数学  英语  平均成绩   总成绩-----
	public String createMsg()
	{
		String str;
		str="\t学号\t姓名\t年龄\t";
		Student s=new Student();
		for(int j=0;j

定义StudentAdmin测试类

package com.edu.p1;

import java.util.Scanner;

public class StudentAdmin {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
        System.out.println("请输入学生的人数:");
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        Student[] stu=new Student[n];
        while(true){
        	Admin admin=new Admin();
        	System.out.println("10:添加一名学生======");
        	System.out.println("11:根据学号输入学生各门成绩======");
        	System.out.println("12:根据学号查找一个学生======");
        	System.out.println("13:根据学号删除一个学生======");
        	System.out.println("14:根据学号更新学生的姓名和年龄======");
        	System.out.println("15:根据总分进行排序======");
        	System.out.println("16:根据某门课程成绩进行排序======");
        	System.out.println("99:退出系统======");
        	int select=in.nextInt();
        	switch(select){
        	case 10:
        		System.out.println("请输入学生的姓名:");
        	    String name=in.next();
        	    System.out.println("请输入学生的年龄:");
        	    int age=in.nextInt();
        	    admin.create(name, age, stu);
        	    admin.print(stu);
                break;
        	case 11:
        		System.out.println("执行根据学号录入学生各科的成绩");
        		System.out.println("请输入录入各科成绩的学生的编号:");
        		int num=in.nextInt();
        		admin.input(num, stu);
        		break;
        	case 12:
        		System.out.println("执行查找学生基本信息的操作");
        		System.out.println("请输入学号进行查找");
        		num=in.nextInt();
        		admin.search(num, stu);
        		break;
        	case 13:
        		System.out.println("执行删除学生的操作");
        		System.out.println("请输入要删除的学生的学号:");
        		num=in.nextInt();
        		admin.delete(num, stu);
        		break;
        	case 14:
        		System.out.println("执行更新学生基本信息的操作");
        		System.out.println("请输入要更新的学生的学号:");
        		num=in.nextInt();
        		System.out.println("请输入正确的学生的姓名:");
        		name=in.next();
        		System.out.println("请输入正确的学生的年龄:");
        		age=in.nextInt();
        		admin.update(num, name, age, stu);
        		break;
        	case 15:
        		System.out.println("执行按总分进行排序的操作");
        		admin.sorTotal(stu);
        		break;
        	case 16:
        		System.out.println("执行按某科成绩进行排序的操作");
        		System.out.println("请输入要排序的课程代码:0-数学  1-语文  2-英语");
        		int coursenum=in.nextInt();
        		admin.sort(coursenum, stu);
        		break;
        	case 99:
        		System.exit(0);
        		break;
        	}
        	
        	
        }
        
	}

}

三、运行结果

运行后首先输入人数

Java学生成绩管理系统(完善版)_第1张图片

依次添加学生,并按提示输入姓名跟年龄,后在输入学生的成绩

Java学生成绩管理系统(完善版)_第2张图片

Java学生成绩管理系统(完善版)_第3张图片

依次输入其他2人的相关信息,输入完见下面的图片

 

 之后在实现相关功能,如对总分进行排序

Java学生成绩管理系统(完善版)_第4张图片

其他功能就不举例子了,同时相关内容也可以支持修改的! 

你可能感兴趣的:(java,开发语言)