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

这篇具有很好参考价值的文章主要介绍了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<score.length;i++){
			msg=msg+score[i]+"\t";
		}
		msg=msg+this.avg+"\t"+this.sum+"\t";
		return msg;
	}
	
}

定义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<s.course.length;j++){
			str=str+s.getCourse()[j]+"\t";
		}
		str=str+"平均成绩\t总成绩";
		msg=str;
		return msg;
	}
	//-------根据学生的姓名和年龄创建一名学生---------
    public void create(String name,int age,Student[] arr){
    	Student stu=new Student();
    	stu.setName(name);
    	stu.setAge(age);
    	i=this.setIndex(arr);
    	if(i==99999){
    		System.out.println("所有的学生都已经添加完了,不能再添加了!");
			return;
    	}
    	stu.setNum(i);
    	arr[i]=stu;
    }
    //------返回Student对象数组中元素为空的下标------
    public int setIndex(Student[] arr){//输出所有的学生
       for(int j=0;j<arr.length;j++){
    	   if(arr[j]==null){
    		   return j;
    	   }
       } 
       return 99999;
    }
  //---------输出所有的学生的相关信息-------------
    public void print(Student[] arr)
	{
		System.out.println(this.createMsg());
		for(int i=0;i<arr.length;i++)
		{
			if(arr[i]!=null)
				System.out.println(arr[i]);
		}
	}
    //----------根据学号判断此学生是否存在-----------
    public boolean exist(int num,Student stu)
	{
		if(stu!=null)
		{
			if(stu.getNum()==num)return true;
			else
			return false;
		}
		return false;
	}
  //----------根据学号查找一个学生------------------
    public void search(int num,Student[] arr)
	{
		for(int i=0;i<arr.length;i++)
		{
			if(this.exist(num, arr[i])==true)		
			{
				System.out.println(arr[i]);
				return;
			}
		}
		System.out.println("没有这个学生! 学号为:"+num+"的学生!");
	}
  //-----根据指定的编号录入学生的各门课成绩---------------------------
    public void input(int num,Student[] arr){
    	int grade[]=new int[3];
    	int sum=0,avg=0;
    	Scanner in=new Scanner(System.in);
    	for(int i=0;i<arr.length;i++){
    		if(this.exist(num, arr[i])==true){
    		   for(int j=0;j<arr[i].course.length;j++){
    			   System.out.println("请输入姓名为:"+arr[i].getName()+"的"+arr[i].getCourse()[j]+"成绩:");
    			   //System.out.println(arr[i].getCourse()[j]+"成绩:");
				   grade[j]=in.nextInt();
				   sum+=grade[j];
				   }
    		   avg=sum/grade.length;
    		   arr[i].setScore(grade);
    		   arr[i].setSum(sum);
    		   arr[i].setAvg(avg);
    		   this.print(arr);
    		   return;
    		   }
    	}
    }
  //------------根据指定的学号修改此学生的姓名和年龄------------
  public void update(int num,String name,int age,Student[] arr){
	  for(int i=0;i<arr.length;i++){
		  if(this.exist(num, arr[i])==true){
			  arr[i].setName(name);
			  arr[i].setAge(age);
			  System.out.println("===学生信息修改成功!===");
			  this.print(arr);
			  return;
		  }
	  }
	  System.out.println("===找不到此学生,信息修改失败!===");
  }
  //------------根据指定的学号删除一名学生------------
  public void delete(int num,Student[] arr){
	  for(int i=0;i<arr.length;i++){
		  if(this.exist(num, arr[i])==true){
			  arr[i]=null;
			  this.print(arr);
			  return;
		  }
	  }
	  System.out.println("===找不到此学生,信息删除改失败!===");
  }
  //---------------根据总分进行排序-降序---------------
  public void sorTotal(Student[] arr){
	  for(int i=0;i<arr.length;i++){
		  for(int j=i+1;j<arr.length;j++){
			  if(arr[i]!=null){
				  if(arr[i].getSum()<arr[j].getSum()){
					  Student stu=arr[i];
					  arr[i]=arr[j];
					  arr[j]=stu;
				  }
			  }
		  }
	  }
	  this.print(arr);
  }
  //-------------根据指定的课程分数进行排序--降序----------
  public void sort(int coursenum,Student[] arr){
	  for(int i=0;i<arr.length;i++){
		  for(int j=i+1;j<arr.length;j++){
			  if(arr[i]!=null){
				  if(arr[i].getScore()[coursenum]<arr[j].getScore()[coursenum]){
					  Student stu=arr[i];
					  arr[i]=arr[j];
					  arr[j]=stu;
				  }
			  }
		  }
	  }
	  this.print(arr);
  }
}


定义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学生成绩管理系统,java,开发语言

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

java学生成绩管理系统,java,开发语言

java学生成绩管理系统,java,开发语言

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

 java学生成绩管理系统,java,开发语言

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

java学生成绩管理系统,java,开发语言

其他功能就不举例子了,同时相关内容也可以支持修改的! 文章来源地址https://www.toymoban.com/news/detail-751312.html

到了这里,关于Java学生成绩管理系统(完善版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java设计学生成绩管理系统

    1.1 题目与要求 设计一个学生成绩排名系统 实现以下功能: (1) 具备对成绩的管理功能(添加、删除、排序); (2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等); (3) 具备按学号、姓名查询成绩的功能; (4) 具备处理解决学号重复问题 ; 备注:成绩记录以下

    2024年02月09日
    浏览(51)
  • Java课程设计——学生成绩管理系统

    1 需求分析 1.1 需求分析概述 需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。通过需求分析充分认识系统的目标、系统的各个组成部分、各部分的任务职责、工作流程、工作中使用的各种数据及数据结构、各部门的业务关系和数据流程等, 为系统设计

    2024年02月03日
    浏览(73)
  • 【Java程序设计】学生成绩管理系统

     相关文章: 【Java程序设计】宠物商店管理系统 【Java程序设计】Java基础知识实验 对于学生成绩管理系统,主要可以分为如下几个功能: 录入学生成绩 统计学生成绩 查找学生成绩 修改学生成绩 删除学生成绩 按平均分排序 显示所有成绩 退出管理系统 进入系统之后,我们

    2024年01月17日
    浏览(44)
  • Java基础——学生成绩信息管理系统(简单实现)

    1、 定义一个学生类 Student,包含姓名、成绩信息; 2、使用 ArrayList集合存储学生对象; 3、 对集合中的元素进行增删查改的操作。 学生类可以包含姓名、成绩、学号、年龄等等,这里只包含了前两项学生类属性。 在该类中定义了简单的增、删、查、改的方法。 其中,遍历集

    2024年02月11日
    浏览(33)
  • 基于Java+MySQL的学生成绩管理系统

    目 录 第1章 绪 论 2 1.1 课题研究背景 2 1.2 课题研究意义 2 1.3 国内外的发展状况 2 第2章 开发环境 3 2.1 Java技术简介 3 2.2 Mysql简介 3 2.3 JDBC简介 3 2.4其他技术简介 3 第3章 系统需求分析 4 第4章 系统概要设计 5 第5章 系统详细设计及实现 6 5.1 详细设计思想 6 5.2 登录模块设计与实现

    2024年02月09日
    浏览(37)
  • JSP 学生成绩查询管理系统eclipse开发sql数据库serlvet框架bs模式java编程MVC结构

    一、源码特点   JSP 学生成绩查询管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,比较流行的servlet框架系统具有完整的源代码和数据库,eclipse开发系统主要采用B/S模式 开发。 java 学生成绩查询管理系统 代码下载链接 https://download.csdn.net/download/qq_412

    2024年02月05日
    浏览(63)
  • 学生成绩管理系统(JAVA_GUI+Mysql)

    提示:该系统是基于Java界面编程+mysql的 源码在这里,需要的自取 SAMS分享包 提取码: 49ji SAMS学生成绩管理系统功能展示 IDEA开发工具 Java界面编程 jdk1.8 mysql8.0.26 Druid数据连接池 MVC三层架构模型 exe4j可执行文件生成工具(将jar包变成可运行的exe程序) 三层架构简单介绍: 三层

    2024年02月06日
    浏览(49)
  • 用Java创建一个学生成绩管理系统登陆界面(初级)

    目录 任务与要求 代码部分 部分代码: 完整代码: 使用eclipse.exe创建一个登录界面,如图1所示,当用户名输入“lili”,密码输入“123456”后,弹出主菜单窗体,如图2(a)所示。鼠标箭头在主菜单窗体点“操作菜单”会弹出操作子菜单窗体,如图2(b)所示。鼠标箭头在主菜单

    2024年02月11日
    浏览(41)
  • 【Java】学生成绩管理系统(图形化界面实现相关功能)

    从功能的代码实现到界面的展示整个制作过程全部用Java语言实现。         1、在idea创建一个工程文件,在工程文件下创建一个model模块,在model模块下载创建三个package包分别用来存放(BackEndCode)后端代码包、(MainExe)主程序包、(WebCode)界面实现代码包,再在三个包中创建如

    2024年02月03日
    浏览(46)
  • Java项目:18 基于SpringBoot的学生成绩管理系统

    作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 基于springboot的学生成绩管理系统主要功能 分为两个端,教师和学生 教师的主要功能:学生信息、成绩信息的增删改查 学生的主要功能:我的成绩、我的总成绩的查看 1.运行环境:

    2024年02月21日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包