java实现学生管理系统(面向对象)

网友投稿 338 2022-12-13


java实现学生管理系统(面向对象)

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

import java.util.Iterator;

import java.util.Scanner;

import java.util.Set;

import java.util.TreeSet;

/**

* 学生管理系统

* 1.添加学生(不可以重复添加,学生的学号决定是否为同一个学生,学生按照学号进行排序)

* 2.可以查看学生信息(包括,学号,姓名,性别,联系电话,年龄)

* a.查看所有学生信息

* b.根据学号看学生信息

* 3.可以根据学号进行学生信息的修改(学号不能被修改)

* 4.可以删除学生(根据学号进行删除)

* 5.可以重复进行操作,也可以选择退出系统

* @author 74471

*

*/

public class StudentSys {

// 用来存储添加的学生

Set stus = new TreeSet();

/**

* 添加学生

* @param stu 即将被添加的学生对象

* @return true 添加学生成功,false 添加学生失败

*/

public boolean addStu(Student stu){

// 学生对象为空或者学号为空

if (stu == null || stu.getStuNo() == null) {

return false;

}

// 添加学生

boolean flag = stus.add(stu);

return flag;

}

/**

* 显示所有学生的信息

*/

public void showAllStus(){

Iterator iterator = stus.iterator();

while (iterator.hasNext()) {

Student stu = iterator.next();

System.out.println(stu);

}

}

/**

* 根据学号进行查找学生

* @param stuNo 需要查找的学生对象的学号

* @return stu 查找到了该学生对象,并且将其返回,null 没有找到该学生

*/

public Student getStuByStuNo(String stuNo){

Iterator iterator = stus.iterator();

while (iterator.hasNext()) { // 循环遍历学生集合

Student stu = iterator.next();

// 如果遍历到的学生对象的学号与传进来的学号相等,表示找到了该学生

if (stu.getStuNo().equals(stuNo)) {

return stu;

}

}

return null;

}

/**

* 删除学生

* @param stu 需要被删除的学生

* @return true 删除成功,false 删除失败

*/

public boolean delStu(Student stu){

return stus.remove(stu);

}

/**

* 修改学生的信息

* @param stu 学生老的信息对象

* @param newStu 学生新的信息对象

* @return true 修改成功,false 修改失败

*/

public boolean updateStu(Student stu, Student newStu){

// 如果要修改的学生对象为空或者学生新的信息对象为空,则修改失败

if (stu == null || newStu == null) {

return false;

}

// 修改学生的信息

stu.setName(newStu.getName());

stu.setAge(newStu.getAge());

stu.setGender(newStu.getGender());

stu.setTelephone(newStu.getTelephone());

return true;

}

public void init(){

Student stu = new Student("001","1891829892","dsjk",18,"男");

Student stu1 = new Student("002","1891829892","dsjk1",19,"男");

Student stu2 = new Student("003","1891829892","dsjk2",17,"女");

Student stu3 = new Student("004","1891829892","dsjk3",16,"男");

Student stu4 = new Student("005","1891829892","dsjk3",20,"女");

stus.add(stu);

stus.add(stu1);

stus.add(stu2);

stus.add(stu3);

stus.add(stu4);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner scanner = new Scanner(System.in);

StudentSys stuSys = new StudentSys();

// 初始默认的学生信息

stuSys.init();

while (true) {

System.out.println("**********欢迎进入学生管理系统**********");

System.out.println("\t1.添加学生");

System.out.println("\t2.查看学生信息");

System.out.println("\t3.修改学生信息");

System.out.println("\t4.删除学生");

System.out.println("\t5.退出系统");

System.out.print("请选择所需要的操作:");

int choice = scanner.nextInt();

switch(choice){

case 1: // 添加学生

// 输入学生的信息

System.out.print("请输入学生学号:");

String stuNo = scanner.next();

System.out.print("请输入学生姓名:");

String name = scanner.next();

System.out.print("请输入学生年龄:");

int age = scanner.nextInt();

System.out.print("请输入学生的性别:");

String gender = scanner.next();

System.out.print("请输入学生的联系方式:");

String telephone = scanner.next();

Student stu = new Student(stuNo, telephone, name, age, gender);

// 添加学生

boolean flag = stuSys.addStu(stu);

System.out.print("\n");

if (flag) { // 添加学生成功

System.out.println("添加学生成功!");

} else { // 添加学生失败

System.out.println("添加学生失败!");

}

break;

case 2: // 查看学生信息

System.out.println("****************************");

System.out.println("\t1.查看所有学生信息");

System.out.println("\t2.查看特定学生信息");

System.out.print("请选择操作:");

choice = scanner.nextInt();

switch(choice){

case 1: // 查看所有学生信息

stuSys.showAllStus();

break;

case 2: // 查看特定学生信息

System.out.print("请输入需要查看的学生的学号:");

stuNo = scanner.next();

// 根据学号查找学生

stu = stuSys.getStuByStuNo(stuNo);

if (stu == null) { // 没找到

System.out.println("查无此生!");

} else {

System.out.println(stu);

}

break;

default:

System.out.println("没有此操作!");

}

break;

case 3:

System.out.print("请输入需要修改的学生的学号:");

stuNo = scanner.next();

// 根据学号查找学生

stu = stuSys.getStuByStuNo(stuNo);

if (stu == null) { // 没找到

System.out.println("没有要删除的学生!");

} else {

System.out.print("请输入学生的新名字:");

name = scanner.next();

System.out.print("请输入学生的新年龄:");

age = scanner.nextInt();

System.out.print("请输入学生的新性别:");

gender = scanner.next();

System.out.print("请输入学生的新联系方式:");

telephone = scanner.next();

// 修改学生的信息

Student newStu = newoiEDia Student(stu.getStuNo(), telephone, name, age, gender);

flag = stuSys.updateStu(stu, newStu);

if (flag) { // 修改成功

System.out.println("修改学生成功!");

} else { // 修改失败

System.out.println("修改学生失败!");

}

}

break;

case 4:// 删除学生

System.out.print("请输入需要查看的学生的学号:");

stuNo = scanner.next();

// 根据学号查找学生

stu = stuSys.getStuByStuNo(stuNo);

if (stu == null) { // 没找到

System.out.println("没有要删除的学生!");

} else {

// 删除学生

flag = stuSys.delStu(stu);

if (flag) { // 删除成功

System.out.println("删除学生成功!");

} else { // 删除失败

System.out.println("删除学生失败!");

}

}

break;

case 5:

System.out.println("退出系统成功!");

// 退出程序

System.exit(0);

break;

default:

System.out.println("选择的操作不合法!");

}

System.out.print("\n");

}

}

}

/**

* 学生类

* @author Administrator

*

*/

public class Student implements Comparable{

// 学号,联系电话,姓名,年龄,性别

private String stuNo;

private String telephone;

private String name;

private int age;

private String gender;

// 无参构造方法

public Student(){}

// 有参构造方法

public Student(String stuNo, String telephone, String name, int age, String gender){

this.stuNo = stuNo;

this.telephone = telephone;

this.name = name;

this.age = age;

this.gender = gender;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((stuNo == null) ? 0 : stuNo.hashCode());

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Student other = (Student) obj;

if (stuNo == null) {

if (other.stuNo != null)

return false;

} else if (!stuNo.equals(other.stuNo))

return false;

return true;

}

public String getStuNo() {

return stuNo;

}

public void setStuNo(String stuNo) {

this.stuNo = stuNo;

}

public String getTelephone() {

return telephone;

}

public void setTelephone(String telephone) {

this.telephone = telephone;

}

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 String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

@Override

/**

* 比较方法,学生对象根据学号进行比较

* @param stu 需要比较的对象

* @return 非零 当前对象和需要比较的对象不相等

* 0 当前对象和需要比较的对象相等

*/

public int compareTo(Student stu) {

// TODO Auto-generated method stub

return stuNo.compareTo(stu.stuNo);

}

@Override

public String toString() {

return "Student [stuNo=" + stuNo + ", telephone=" + telephone + ", name=" + name + ", age=" + age + ", gender="

+ gender + "]";

}

}

关于管理系统的更多内容请点击《管理系统专题》进行学习


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于Java8 Stream API实现数据抽取收集
下一篇:win10 64位 jdk1.8的方法教程详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~