java设计简单学生管理系统

本文实例为大家分享了java学生成绩管理系统,供大家参考,具体内容如下

要求:

完善Student类,Student类包含学号、姓名、年级、专业、三门功课的成绩(英语、高数、计算机)的成员变量,完善成绩录入方法、设计按学号查找方法、按姓名查找方法、按单科成绩排序的方法。
设计主类,实例化包含5个学生信息的学生数组,查找某一个学生的信息并打印出来,同时打印这5个学生按某一科成绩的按高到低的排序信息(学号、姓名、成绩);输出所有学生的三门单科平均成绩。

首先先创建一个student类
使用构造方法来初始化
学号、姓名、年级、专业、三门功课的成绩

先打包
在分类

student类

使用构造方法初始化 get和set方法传值

package swpu.student;

public class Student {
 public String number;
 public String name;
 public String major;

 public int math;
 public int computer;
 public int english;
 public int total;
 //对象数组初始化,使用构造方法
 public Student(String newname,String nmajor,String newnumber,int nmath,int ncom,int ne){
 number = newnumber;
 major =nmajor;
 name = newname;
 math = nmath;
 computer = ncom;
 english = ne;
 }
 public String getMajor() {
 return major;
 }
 public void setMajor(String major) {
 this.major = major;
 }
 public int getEnglish() {
 return english;
 }
 public void setEnglish(int english) {
 this.english = english;
 }
 public String getNumber() {
 return number;
 }
 public void setNumber(String number) {
 this.number = number;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getMath() {
 return math;
 }
 public void setMath(int math) {
 this.math = math;
 }
 public int getComputer() {
 return computer;
 }
 public void setComputer(int computer) {
 this.computer = computer;
 }

}

排序类
rank类

package swpu.student;

public class Rank {
 public static void rankscore(Student [] arr,int n){
 //数学
 if(n==1) {
 for (int i = 0; i < arr.length-1; i++) {
    int index = i;
    int j;
    // 找出最小值得元素下标
    for (j = i + 1; j < arr.length; j++) {
     if (arr[j].math > arr[index].math) {
      index = j;
     }
    }
    int tmp = arr[index].math;
    arr[index].math = arr[i].math;
    arr[i].math = tmp;
   }
 }
 //英语
  if(n==2) {
  for (int i = 0; i < arr.length-1; i++) {
    int index = i;
    int j;
    // 找出最小值得元素下标
    for (j = i + 1; j < arr.length; j++) {
     if (arr[j].english > arr[index].english) {
      index = j;
     }
    }
    int tmp = arr[index].english;
    arr[index].english = arr[i].english;
    arr[i].english = tmp;
   }
  }
  //计算机
  if(n==3) {
  for (int i = 0; i < arr.length-1; i++) {
    int index = i;
    int j;
    // 找出最小值得元素下标
    for (j = i + 1; j < arr.length; j++) {
     if (arr[j].computer > arr[index].computer) {
      index = j;
     }
    }
    int tmp = arr[index].computer;
    arr[index].computer = arr[i].computer;
    arr[i].computer = tmp;
   }
  }
  }
}

这里使用了静态方法传入成绩的值

查找类
search类

package swpu.student;

public class Search {
 //书写两种方法(学号,姓名)

 public int StuNum(Student arr[] ,String y)//传入数组,查找值 ,使用字符串的比较
 {
 for(int i = 0;i<arr.length;i++)
 {
 if(arr[i].number.equals(y))
 return i;
 }
 return -1;
 }
 public int StuNam(Student stu[] ,String x) {
 for(int i = 0;i<stu.length;i++)
 {
 if(stu[i].name.equals(x))
 return i;
 }
 return -1;
 }
}

主要类

Instudent类

package swpu.student;
import java.util.Scanner;
public class Instudent {

 public static void main(String[] args) {
 // TODO Auto-generated method stub
 Scanner in = new Scanner(System.in);
 Student []stu = new Student[5];
 //学生成绩初始化
 stu[0] = new Student("Jack","软工 ","20183101",80,90,85);
 stu[1] = new Student("Rose","大数据","20183102",99,93,90);
 stu[2] = new Student("John","网安全","20183103",87,70,74);
 stu[3] = new Student("Andi","网工程","20183104",67,66,68);
 stu[4] = new Student("Mike","物联网","20183105",56,90,55);
 //局部变量的初始化
 String nu1 = "";
 String na1 = "";
 String ma1 = "";
 int t1=0,t2=0,t3=0;
 System.out.println("-------------------学生成绩管理系统------------------------");
 //输入学生信息
 for(int i=0;i<stu.length;i++) {
  System.out.println("请输入第"+(i+1)+"个学生的姓名,专业,学号,数学成绩,计算机成绩,英语成绩");
  na1 = in.next();//姓名
  ma1 = in.next();//专业
  nu1 = in.next();//学号
  t1 = in.nextInt();
  t2 = in.nextInt();
  t3 = in.nextInt();
  stu[i].setNumber(nu1);
  stu[i].setName(na1);
  stu[i].setMajor(ma1);
  stu[i].setEnglish(t3);
  stu[i].setComputer(t2);
  stu[i].setMath(t2);
  }
 Search search = new Search();
 //选择需要的查找的方法
 System.out.println("选择需要的查找的方法, 1学号,2姓名");
 int p = in.nextInt();
 if(p==1) {
 //使用学号的方法进行查找
 System.out.println("输入您所需要查找的学生学号");
 String y = in.next();
 int x = search.StuNum(stu,y);
 if(x>=0)
 System.out.println("学号:"+stu[x].number+" 学生:"+stu[x].name+" 专业:"+stu[x].major+" 数学:"+stu[x].math+" 计算机:"+stu[x].computer+" 英语:"+stu[x].english);
 else
 System.out.println("输入的学生不存在");
 }
 if(p==2) {
 //使用姓名的方法进行查找
 System.out.println("输入您所需要查找的学生姓名");
 String thename = in.next();
 int w = search.StuNam(stu,thename);
 if(w>=0)
 System.out.println("学号:"+stu[w].number+" 学生:"+stu[w].name+" 专业:"+stu[w].major+" 数学:"+stu[w].math+" 计算机:"+stu[w].computer+" 英语:"+stu[w].english);
 else
 System.out.println("输入的学生不存在");
 }
 System.out.println("是否需要对单科成绩进行排名 [Y/N] 1 =yes,2=no");
 int op = in.nextInt();
 if(op==1) {
 //单科成绩的排序(输入所需要科目然后直接进行排序)
 Rank rank = new Rank();//创建对象
 System.out.println("输入所需要排序的成绩编号 , 1:数学,2:英语,3:计算机");
 int major = in.nextInt();
 rank.rankscore(stu,major);
 //输出排序后的成绩
 for(int i = 0;i < stu.length;i++) {
 System.out.println("学号:"+stu[i].number+" 学生:"+stu[i].name+" 专业:"+stu[i].major+" 数学:"+stu[i].math+" 计算机:"+stu[i].computer+" 英语:"+stu[i].english);
 }
 }
 else {
 System.out.println("结束,退出系统");
 }
 }

}

其中使用构造方法初始化的时已经存入了值,因此在使用set方法输入学生信息时其实是修改学生信息,在构造方法初始化的时候可以不用那么复杂 可直接根据数据类型 例如:

stu[0] = new Student(" "," "," ",0,0,0);
stu[1] = new Student(" "," "," ",0,0,0);
stu[2] = new Student(" "," "," ",0,0,0);
stu[3] = new Student(" "," "," ",0,0,0);
stu[4] = new Student(" "," "," ",0,0,0);

注意 在声明局部变量的时候一定要记住初始化,否则将值传入数组的时候会出现报错

运行截图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 一个简陋的java图书管理系统

    本文代码为原创一个简陋的管理系统,只做功能的测试.并没有去完善所有应有的功能,只做了输入输出查找,仅供参考! 菜单部分: import java.util.Scanner; public class Menu { int Min = 1; int Max = 3; public void getMenu(){ System.out.println("1.显示/2.输入/3.查找"); } public void getFindMenu(){ System.out.println(&qu

  • 简单实现Java版学生管理系统

    本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下 package BookDemo_1; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test { public static void main(String[] args) { StudentSys stuSys=new StudentSys("学生管理系统"); stuSys.initWi

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

  • Java+Mysql学生管理系统源码

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

  • 图书管理系统java代码实现

    本文实例为大家分享了java实现图书管理系统的具体代码,供大家参考,具体内容如下 /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:    <图书管理系统--java>                          * 作    者:       刘江波                       * 完成日期:    2012     年  3    

  • Java+MySQL实现学生信息管理系统源码

    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

  • java学生管理系统界面简单实现(全)

    学生管理系统简单的实现,供初学Java Swing同学学习使用. import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import jav

  • 图书管理系统java版

    本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面

  • Java GUI实现学生成绩管理系统

    学习java有一年多了,一直在做web方面的练习,在一个项目中发现需要用到GUI的相关知识,结果没法做出来,网上这方面的文章又不是很多,所有只好自己硬着头皮从头再学一遍了,不过学习后发现,其实GUI是非常有趣的,他并不像WEB程序一样依赖互联网,而且还有许多布局和android相差不是很大,这才发现自己竟又爱上GUI的开发了,不多说了,直接上代码吧,相信有过android或相关界面开发的都明白这其中的道理. 先看看效果吧 1.登录主界面 package edu.gzu.stuManager; i

随机推荐