Java-数组实现超简易学生管理系统

//学生类 学号 姓名 年龄 班级及构造方法与get/set方法
public class Student {
    private String sutID;//学号        
    private String name;//姓名
    private int age;//年龄
    private static String classes="1班";//班级

    public Student() {
    }

    public Student(String sutID, String name, int age) {
        this.sutID = sutID;
        this.name = name;
        this.age = age;
    }

    public String getSutID() {
        return sutID;
    }

    public void setSutID(String sutID) {
        this.sutID = sutID;
    }

    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 static String getClasses() {
        return classes;
    }

    public static void setClasses(String classes) {
        Student.classes = classes;
    }
}

import java.util.Scanner;

//功能;1.添加学生 2.删除学生 3.修改学生 4.查看所有学生
public class StudentManger_yc {
    public StudentManger_yc() {
    }
    private Student [] s=new Student[30];//先建立一个学生类数组,一个班最多30个学生
    private int n=0;//做学生数量指示器 每添加成功一个学生就+1 每删除一个学生就-1
    //启动界面与提示
    public void accessManger(){
        //初始化
        for (int i=0;i<s.length;i++){
            s[i]=new Student("学号待定","姓名待定",0);
        }
        int choice;
        do {
            System.out.println("------欢迎来到学生管理系统------");
            System.out.println("1.添加学生");
            System.out.println("2.删除学生");
            System.out.println("3.修改学生");
            System.out.println("4.查看所有学生");
            System.out.println("5.按学号查找学生信息");
            System.out.println("0.退出");
            System.out.println("请输入你的选择");
            Scanner sc = new Scanner(System.in);
            choice = sc.nextInt();
            switch (choice) {
                case 1 ->
                        //添加学生
                        addStudent();
                case 2 ->
                        //删除学生
                        removeStudent();
                case 3->
                        //修改学生
                        updateStudent();
                case 4 ->
                        //查看所有学生
                        findAllStudent();
                case 5 ->
                        idGetInfo();
                        //按姓名查找学生信息
                case 0 -> {
                    System.out.println("谢谢使用!");
//                    break;
                    System.exit(0);//JVM退出
                }
            }
        }while (choice!=0);
    }
    //按学号查找学生方法
    public void idGetInfo(){
        if(n==0){
            System.out.println("没得学生了,请先添加学生");
            return;
        }
        Scanner sc=new Scanner(System.in);
        System.out.println("输入你要查找的学生的学号");
        String stuId_old=sc.nextLine();
        //判断是否学号已经存在
        if(!exist(stuId_old)){
            System.out.println("你输入的学号不存在,请重新输入");
           // updateStudent();
            idGetInfo();
        }
        for (int i=0;i<s.length;i++){
            if (s[i].getSutID().equals(stuId_old)) {
                System.out.println("学号:" + s[i].getSutID() + "  姓名:" + s[i].getName() + "  年龄:" + s[i].getAge()+"  班级:"+ Student.getClasses());
                return;
            }
        }
    }
    //添加学生
    public void addStudent(){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入学生学号");
        String stuId=sc.nextLine();
        System.out.println("请输入学生姓名");
        String name=sc.nextLine();
        System.out.println("请输入学生年龄");
        int age=sc.nextInt();
        s[n].setSutID(stuId);
        s[n].setName(name);
        s[n].setAge(age);
        n++;
        System.out.println(n);
    }
    //修改学生
    public void updateStudent(){
        if(n==0){
            System.out.println("没得学生了,请先添加学生");
            return;
        }
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你要修改的学生学号");
        String stuId_old=sc.nextLine();
        //判断是否学号已经存在
        if(!exist(stuId_old)){
            System.out.println("你输入的学号不存在,请重新输入");
            updateStudent();
        }
        System.out.println("请输入学生新的学号");
        String stuId=sc.nextLine();
        System.out.println("请输入学生新的姓名");
        String name=sc.nextLine();
        System.out.println("请输入学生新的年龄");
        int age=sc.nextInt();
        for (int i=0;i<s.length;i++) {
            if (s[i].getSutID().equals(stuId_old)) {
                s[i].setSutID(stuId);
                s[i].setName(name);
                s[i].setAge(age);
                return;
            }
        }
    }
    //查看所有学生
    public void findAllStudent(){
        //        若无学生信息,则给出提示
        if(n==0){
            System.out.println("暂无学生信息,请先添加信息再查询");
            return;
        }
      
        Student []ss=new Student[n];
        System.arraycopy(s,0,ss,0,n);
        //遍历ss 即所有学生信息
        for (Student student : ss) {
            System.out.println("学号:" + student.getSutID() + "  姓名:" + student.getName() + "  年龄:" + student.getAge()+"  班级:"+ Student.getClasses());
        }

    }
    //删除学生
    public void removeStudent(){
        if(n==0){
            System.out.println("还没有添加学生,请先添加学生再进行修改");
            return;
        }
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你要删除的学生学号");
        String stuId=sc.nextLine();//        遍历集合将对应的学生信息从集合中删除
        for (int i=0;i<s.length;i++){
            if(stuId.equals(s[i].getSutID())){
                for (;i<s.length-1;i++){
                    s[i]=s[i+1];
                }
                    s[29].setSutID("学号待定");
                    s[29].setName("姓名待定");
                    s[29].setAge(0);
                    System.out.println("删除成功");
            }
        }
        n--;
        System.out.println(n);
    }
    //判断学号是否存在
    public boolean exist(String stuId_old){
        boolean flag=false;

        for (int i=0;i<s.length;i++){

            if (s[i].getSutID().equals(stuId_old)) {
                flag=true;
               return flag;
            }
        }
        return flag;
    }

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值