学生管理系统(java实现)

大体上分为3个类:

  1. student类,作为学生的javabean
  2. studentlist,作为学生列表管理
  3. managerpanel,作为交互界面

Student类

package StudentManager;
​
public class Student {
​
    //JavaBean 类
    private String name;
    private char gender;//F & M
    private String id;
    private int age;
​
    public Student() {
    }
​
    public Student(String name, char gender, String id, int age) {
        this.name = name;
        this.gender = gender;
        this.id = id;
        this.age = age;
    }
​
    public String getName() {
        return name;
    }
​
    public void setName(String name) {
        this.name = name;
    }
​
    public char getGender() {
        return gender;
    }
​
    public void setGender(char gender) {
        this.gender = gender;
    }
​
    public String getId() {
        return id;
    }
​
    public void setId(String id) {
        this.id = id;
    }
​
    public int getAge() {
        return age;
    }
​
    public void setAge(int age) {
        this.age = age;
    }
}
​

StudentList类

package StudentManager;
​
public class StudentList {
   private Student[] studentList;
   private int numOfStudent;
​
    public StudentList(int numOfStudent) {
        studentList =new Student[numOfStudent];
    }
​
    public boolean addStudent(Student student){
        if (numOfStudent<studentList.length){
            studentList[numOfStudent++]=student;
            return true;
        }
        return false;//添加失败返回false
​
    }
    public boolean deleteStudent(int index){
        if (index<1||index>numOfStudent) return false;
        for (int i=index-1;i<=numOfStudent-2;i++){
            studentList[i]=studentList[i+1];
        }
        studentList[--numOfStudent]=null;//末尾置为null
        return true;
    }
    public boolean upDataStudent(int index,Student student){
        if (index<1||index>numOfStudent) return false;
        studentList[index-1]=student;
        return true;
    }
​
​
    public Student[] getAllStudent() {
        Student[] students=new Student[numOfStudent];
        for(int i=0;i<numOfStudent;i++){
            students[i]=studentList[i];
        }
        return students;
    }
    public Student getStudent(int index){
        return studentList[index-1];
    }
​
    public int getNumOfStudent() {
        return numOfStudent;
    }
​
}
​

 ManagerPanel类

package StudentManager;
​
import java.util.Scanner;
​
public class ManagerPanel {
    private StudentList studentList;
    Scanner scanner;
    private boolean flag ;
    public void enterManagerPanal() {
       studentList=new StudentList(10);
       scanner=new Scanner(System.in);
       flag=true;
        while (flag){
            System.out.println("------------欢迎来到学生管理系统------------");
            System.out.println("\t请选择您的操作:");
            System.out.println("\t1.添加学生");
            System.out.println("\t2.修改学生信息");
            System.out.println("\t3.查看学生信息");
            System.out.println("\t4.查看学生列表");
            System.out.println("\t5.删除学生");
            System.out.println("\t6.退出系统");
​
            int i= scanner.nextInt();
​
            switch (i){
                case 1:
                    Add();
                    break;
                case 2:
                    UpData();
                    break;
                case 3:
                    LookForStudent();
                    break;
                case 4:
                    LookAllStudent();
                    break;
                case 5:
                    Delete();
                    break;
                case 6:
                    Exit();
                    break;
                default:
                    System.out.println("输入有误,请重新输入!");
                    break;
            }
        }
​
    }
    public void Add(){
        while(true){
            System.out.println("-------------------");
            System.out.println("请输入姓名:");
            String name=scanner.next();
            System.out.println("请输入性别:");
            char gender=scanner.next().charAt(0);
            System.out.println("请输入学号:");
            String id=scanner.next();
            System.out.println("请输入年龄:");
            int age=scanner.nextInt();
            Student student=new Student(name,gender,id,age);
            if(studentList.addStudent(student)){
                System.out.println("添加成功!\n");
​
                System.out.println("是否继续添加?(Y/N):");
                char c=scanner.next().charAt(0);
                if (c=='y'||c=='Y') {}
                else break;
            }
            else {
                System.out.println("容量不足,添加失败!");
                break;
            }
        }
        //若不使用while,当多个Add()嵌套时会多次询问”是否查看学生列表“
        System.out.println("是否查看当前学生列表?(Y/N):");
        char cc=scanner.next().charAt(0);
        if (cc=='y'||cc=='Y'){
            LookAllStudent();
        }
​
    }
    public void Delete(){
        boolean flag = true;
        while(flag){
            System.out.println("请确定您要删除的学生编号:");
            int index= scanner.nextInt();
            if (index>studentList.getNumOfStudent()||index<=0){
                System.out.println("输入编号有误,请重新输入\n");
                continue;
            }
            System.out.println("确认删除吗?(Y/N):");
            char c=scanner.next().charAt(0);
            if (c=='y'||c=='Y'){
                if (studentList.deleteStudent(index)){
                    flag= false;
                    System.out.println("删除成功!\n");
​
                    System.out.println("是否继续删除?(Y/N):");
                    char cc=scanner.next().charAt(0);
                    if (cc=='y'||cc=='Y'){
                        Delete();
                    }
​
                    System.out.println("是否查看当前学生列表?(Y/N):");
                    char ccc=scanner.next().charAt(0);
                    if (ccc=='y'||ccc=='Y'){
                        LookAllStudent();
                    }
​
                }
                else System.out.println("输入编号有误!请重新输入\n");
            }
            else flag=false;
        };
    }
    public void UpData(){
        boolean flag=true;
        while (flag){
            System.out.println("-------------------");
            System.out.println("请输入您要修改的学生编号:");
            int index=scanner.nextInt();
            if (index>studentList.getNumOfStudent()||index<=0){
                System.out.println("输入编号有误,请重新输入\n");
                continue;
            }
            System.out.println("请输入姓名:");
            String name=scanner.next();
            System.out.println("请输入性别:");
            char gender=scanner.next().charAt(0);
            System.out.println("请输入学号:");
            String id=scanner.next();
            System.out.println("请输入年龄:");
            int age=scanner.nextInt();
            Student student=new Student(name,gender,id,age);
            if(studentList.upDataStudent(index,student)){
                System.out.println("修改成功!\n");
​
                System.out.println("是否查看修改后学生信息?(Y/N):");
                char c=scanner.next().charAt(0);
                if (c=='y'||c=='Y'){
                    LookForStudent();
                }
​
            }else System.out.println("输入学生编号有误,修改失败!\n");
            flag=false;
        }
    }
    public void LookForStudent(){
        boolean flag=true;
        while (flag){
            System.out.println("请输入您要查看的学生编号:");
            int index=scanner.nextInt();
            if (index>studentList.getNumOfStudent()||index<=0){
                System.out.println("输入编号有误,请重新输入\n");
                continue;
            }
            System.out.println("-------------------");
            Student student=studentList.getStudent(index);
            System.out.print("学号:");
            System.out.println(student.getId());
            System.out.print("姓名:");
            System.out.println(student.getName());
            System.out.print("性别:");
            System.out.println(student.getGender());
            System.out.print("年龄:");
            System.out.println(student.getAge());
            flag=false;
        }
​
    }
    public void LookAllStudent(){
        Student[] students= studentList.getAllStudent();
        if (students.length==0){
            System.out.println("暂无学生");
            System.out.print("是否添加学生?(Y/N):");
            char c=scanner.next().charAt(0);
            if (c=='Y'||c=='y'){
                Add();
            }
        }
        else{
            System.out.println(String.format("%-16s","学号")+String.format("%-8s","姓名")
                    +String.format("%-4s","性别")+String.format("%-4s","年龄"));
            for (int i=0;i< students.length;i++){
                Student student=students[i];                                   
                System.out.println(String.format("%-16s",student.getId())                             
                                   +String.format("%-8s",student.getName())
                                   +String.format("%-4c",student.getGender())
                                   +String.format("%-4d",student.getAge()));
            }
        }
    }
​
    private void Exit() {
        flag=false;
        System.out.println("退出成功!");
    }
​
}

StudentManagerTest 

import StudentManager.ManagerPanel;
​
public class StudentManagerTest {
    public static void main(String[] args) {
        ManagerPanel managerPanel=new ManagerPanel();
        managerPanel.enterManagerPanal();
    }
}
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值