您的当前位置:首页(完整版)JAVA学生管理系统源代码

(完整版)JAVA学生管理系统源代码

2023-12-04 来源:爱问旅游网
JAVA学生管理系统源代码

一、程序

import java.util.*;

public class Test {//主程序

public static void main(String[] args){ Scanner in = new Scanner(System.in);

System.out.println(\"------请定义学生的人数:------\"); Student[] stuArr = new Student[in.nextInt()]; Admin adminStu = new Admin(); while(true){

System.out.println(\"-----请选择你要执行的功能-----\"); 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:退出系统\");

String number = in.next(); if(number.equals(\"10\")){

System.out.println(\"请输入学生的编号:\"); int num = in.nextInt();

System.out.println(\"请输入学生的姓名:\"); String name = in.next();

System.out.println(\"请输入学生的年龄:\"); int age = in.nextInt();

adminStu.Create(num,name,age,stuArr);//添加学生

}else if(number.equals(\"11\")){

System.out.println(\"执行查找学生基本信息的操作\"); System.out.println(\"请输入学生的编号进行查找:\"); int num = in.nextInt();

adminStu.find(num,stuArr);//查找学生 }else if(number.equals(\"12\")){

System.out.println(\"执行更新学员的基本信息操作\"); System.out.println(\"请输入学生的编号:\"); int num = in.nextInt();

System.out.println(\"请输入学生的姓名:\"); String name = in.next();

System.out.println(\"请输入学生的年龄:\"); int age = in.nextInt();

adminStu.update(num,name,age,stuArr);//更新学生基本信息

}else if(number.equals(\"13\")){

System.out.println(\"执行删除学生操作\"); System.out.println(\"请输入学生编号:\"); int num = in.nextInt();

adminStu.delete(num,stuArr);//删除学生 }else if(number.equals(\"14\")){

System.out.println(\"执行输入成绩操作\"); System.out.println(\"请输入学生编号:\"); int num = in.nextInt(); adminStu.input(num, stuArr);//输入成绩 }else if(number.equals(\"15\")){

System.out.println(\"执行根据某科目成绩排序操作\"); System.out.println(\"请选择需要排序的科目名(1.java 2.C# 3.html 4.sql):\");

int num = in.nextInt();

adminStu.courseSort(num,stuArr);//按科目排序 }else if(number.equals(\"16\")){

System.out.println(\"执行根据总分排序操作\"); adminStu.sumSort(stuArr);//按总分排序 }else if(number.equals(\"99\")){

System.out.println(\"--------程序已退出--------\"); //break;

System.exit(0); } } } }

二、学生类

public class Student {//学生类 private int num;

private String name; private int age; private int java; private int C; private int html; private int sql; private int sum; private int avg;

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 getJava() { return java; }

public void setJava(int java) { this.java = java; }

public int getC() { return C; }

public void setC(int c) { C = c; }

public int getHtml() { return html; }

public void setHtml(int html) { this.html = html; }

public int getSql() { return sql; }

public void setSql(int sql) { this.sql = sql; }

public int getSum() { return sum;

}

public void setSum() {

this.sum = this.java+this.C+this.html+this.sql; }

public int getAvg() { return avg; }

public void setAvg() { this.avg = this.sum/4; }

public String toString(){ String str = \"\\"+this.num+\"\\"+this.name+\"\\"+this.age+\"\\"

+this.java+\"\\"+this.C+\"\\"+this.html+\"\\"+this.sql +\"\\"+this.sum+\"\\"+this.avg; return str; } }

三、管理学生类

import java.util.*;

public class Admin {//用来管理学生的一个类

String msg = \"\编号\姓名\年龄\java\C#\html\sql\总分\平均分\";

public void print(Student[] arr){//刷新数据的方法 System.out.println(msg);

for(int i=0;iSystem.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 Create(int num,String name,int age,Student[] arr){//添加学生的方法

Student stu = new Student(); stu.setNum(num); stu.setName(name);

stu.setAge(age);

int i = this.setIndex(arr); if(i==99999){

System.out.println(\"学生人数已添满,不能再添加了\"); }else{

arr[i]=stu; }

this.print(arr); }

public int setIndex(Student[] arr){//返回数组为空的下标 for(int i=0;ireturn 99999; }

public void find(int num,Student[] arr){//查询学生的方法 for(int i=0;iSystem.out.println(\"-----没有这个学生的存在-----\"); }

public void update(int num,String name,int age,Student[] arr){//更新学生基本信息的方法

for(int i=0;iif(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;iSystem.out.println(\"您所指定编号的学生不存在\"); }

public void input(int num,Student[] arr){//输入学生成绩的方法 for(int i=0;iScanner in = new Scanner(System.in);

System.out.println(\"请输入\"+arr[i].getName()+\"java的成绩:\");

if(in.hasNextInt()){//输入非整形数则不执行 arr[i].setJava(in.nextInt()); }else{

return; }

System.out.println(\"请输入\"+arr[i].getName()+\"C#的成绩:\");

if(in.hasNextInt()){

arr[i].setC(in.nextInt()); }else{

return; }

System.out.println(\"请输入\"+arr[i].getName()+\"html的成绩:\");

if(in.hasNextInt()){

arr[i].setHtml(in.nextInt()); }else{

return; }

System.out.println(\"请输入\"+arr[i].getName()+\"sql的成绩:\");

if(in.hasNextInt()){

arr[i].setSql(in.nextInt()); }else{

return; } this.print(arr); return; } } }

public void courseSort(int num,Student[] arr){//根据指定科目排序的方法

if(num==1){ //这里不能用冒泡排序(因为冒泡排序是相邻的比较,而相邻的可能不存在,那么相隔的两个就不能交换)

for(int i=0;ifor(int j=i+1;jif(arr[i].getJava()}else if(num==2){

for(int i=0;ifor(int j=i+1;jif(arr[i].getC()}else if(num==3){

for(int i=0;ifor(int j=i+1;jif(arr[i].getHtml() }

arr[j] = t; } } } }

}else if(num==4){

for(int i=0;ifor(int j=i+1;jif(arr[i].getSql()this.print(arr); }

public void sumSort(Student[] arr){//根据总分排序的方法 for(int i=0;ifor(int j=i+1;jif(arr[i].getSum()this.print(arr); }

因篇幅问题不能全部显示,请点此查看更多更全内容