控制台学生管理系统 (java源码)

类:

public class Stu {
private String name;//学生姓名
private String number;//学号

public String getNumber() {
    return number;
}

public void setNumber(String number) {
    this.number = number;
}

public String getPhone() {
    return phone;
}

public void setPhone(String phone) {
    this.phone = phone;
}

private String phone;//电话

public Stu() {

}
public Stu(String name,String number,String phone) {

// System.out.println(“带参的构造方法正在创建对象”);
this.phone = phone;
this.number = number;
this.name = name;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}



public void show(String userName) {
    System.out.println(userName+"正在查看"+this.name);
}
public String toString() {
    return "姓名:" + name + ",学号:" + number + ",电话:" + phone;
}

}

主函数:

public class Student {

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

    Stu[] student1 = new Stu[2000];

    boolean flag = true;

    System.out.println("欢迎使用学生管理系统:");
    do {
        //输入以后名称
        System.out.println("请输入用户名:");
        String userName = in.next();
        //输入密码
        System.out.println("请输入密码:");
        String password = in.next();
        //判断用户名密码是否正确
        if ("admin".equals(userName) && "123".equals(password)) {
            System.out.println("登录成功");
            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("****          6、退出系统         *****");
                System.out.println("****      请选择你需要进行的操作:  *****");
                int sel = in.nextInt();
                switch (sel) {
                    //添加
                    case 1:
                        System.out.println("请输入姓名");
                        String name = in.next();
                        System.out.println("请输入学号");
                        String number = in.next();
                        System.out.println("请输入电话");
                        String phone = in.next();
                        Stu student = new Stu(name, number, phone);
                        for (int i = 0; i < student1.length; i++) {
                            if (student1[i] == null) {
                                student1[i] = student;
                                break;
                            }
                            else if(student1[i].getNumber().equals(number)){
                                System.out.println("该学号重复,请重新输入");
                                break;
                            }
                            else if (student1[student1.length - 1] != null) {
                                System.out.println("学生数已满");
                                break;
                            }
                        }
                        //数组名.fori可以直接创建for循环
                        for (int i = 0; i < student1.length; i++) {
                            if (student1[i] != null) {
                                System.out.println(student1[i]);
                            }
                        }

                        break;
                    //删除
                    case 2:
                        System.out.println("请输入你需要删除的学生姓名");
                        name = in.next();
                        //定义一个标记
                        boolean flag1 = true;
                        for (int i = 0; i < student1.length; i++) {
                            if(student1[0]==null){
                                System.out.println("没有学生");
                                break;
                            }
                            if(student1[i]!=null&&!student1[i].getName().equals(name)){
                                flag1 = false;
                            }
                            if(student1[i]!=null&&student1[i].getName().equals(name)){
                                student1[i] = null;
                                System.out.println("删除成功!");
                                flag1 = true;
                                break;
                            }
                            if (!flag) {
                                System.out.println("该学生不存在");
                            }
                        }
                        break;
                    //3修改
                    case 3:
                        System.out.println("请输入需要修改的学生名称");
                        name = in.next();
                        System.out.println("请输入修改后的姓名");
                        String n2 = in.next();
                        System.out.println("请输入修改后学号");
                        number = in.next();
                        System.out.println("请输入电话");
                        phone = in.next();
                        boolean flag2=true;

                        for (int i = 0; i < student1.length; i++) {
                            //判断在数组不为null时books[i].getName() != name那么flag2为false
                            if (student1[i]!=null&&!student1[i].getName().equals(name) ) {
                                flag2 = false;
                            }
                            if(student1[i]!=null&&student1[i].getNumber().equals(number)){
                                //System.out.println("该学号已被使用,请核对后重新输入");
                                flag2 = false;
                                break;
                            }
                            //判断如果找到了需要修改的学生那么对他进行修改并提示
                            if(student1[i]!=null&&student1[i].getName().equals(name)){
                                student1[i].setName(n2);
                                student1[i].setNumber(number);
                                student1[i].setPhone(phone);
                                System.out.println("修改完成");
                                flag2 = true;
                                break;
                            }
                        }
                        if (!flag2) {
                            System.out.println("此学生不存在或学号冲突");
                        }
                        break;
                    //查询
                    case 4:
                        System.out.println("输入需要查询的学生姓名或学号");
                        String sname = in.next();
                        //number=in.next();
                        boolean flag3 = true;
                        //增强for   数据类型    变量名     数组或者集合名
                        for (Stu b : student1) {
                            if (b != null) {
                                if (b.getName().equals(sname) || b.getNumber().equals(sname)) {
                                    flag3 = true;
                                    System.out.println(b);
                                    //break;
                                } else {
                                    flag3 = false;
                                }
                            }
                        }
                        if(!flag3){
                            System.out.println("学生不存在");
                        }
                        break;
                    //查询
                    case 5:
                        for (int i = student1.length - 1; i >= 0; i--) {
                            if(student1[i]!=null)
                                System.out.println(student1[i]);
                        }
                        break;
                    case 6:
                        System.exit(0);
                        break;
                    default:
                        break;
                }
            }while (true);

        } else {
            flag = true;
            System.out.println("登录失败请重新输入:");
        }
    } while (flag);
}

}

猜你喜欢

转载自blog.csdn.net/weixin_44203482/article/details/94735813