学生管理系統

1:使用set,get方法,生成基本学生信息

2:代码实现

 import java.util.Scanner;
public class Main {
    static int index = 0;    //下面main()方法是static,所以此处也用static,这样才可以直接调用
    static Student [] students = new Student[45]; 
    
    public static void main(String[] args) { 
        
        System.out.println("***********************************");
        System.out.println("*      欢迎使用学生管理系统        *");
        System.out.println("***********************************");
        
        for(;;) {    //死循环
            information();
        }
        
    }
    
    public static void information() {
        System.out.println("1、添加学生信息");
        System.out.println("2、删除学生信息");
        System.out.println("3、修改学生信息");
        System.out.println("4、查询学生信息");
        
        System.out.println("请输入操作项,点击enter键");
        Scanner scanner = new Scanner(System.in);
        int option = scanner.nextInt();
        
        switch (option) {
            case 1:{
                if(index>students.length-1) {    //判断是否满员
                    System.out.println("座位已满");
                    return;
                }
                System.out.println("·添加学生信息:");
                Student student = new Student();
                System.out.println("请输入学号,点击enter键: ");
                String id = scanner.next();
                student.setId(id);
                if(index>0) {
                    for (Student stu : students) {
                        if(stu == null) {    //当某个位置为null时,其后的位置都为null,不用再查找了
                            break;
                        }
                        if(stu.getId().equals(student.getId())) {//判断学号是否重复
                            System.out.println("学号不能重复,请重新输入学号:");
                            student.setId(scanner.next());
                            break;
                        }
                    }
                }
                System.out.println("请输入姓名,点击enter键");
                student.setName(scanner.next());
                System.out.println("请输入手机号,点击enter键");
                student.setMobile(scanner.next());
                System.out.println("请输入家庭地址,点击enter键");
                student.setAddress(scanner.next());
                
                students[index] = student;    //把学生的信息依次填入数组中
                index++;
                System.out.println("添加成功");
                break;
            }
            case 2:{
                System.out.println("·删除学生信息");
                System.out.println("请输入要删除学生的学号:");
                String id = scanner.next();
                
                index=0;
                for(Student student:students) {
                    if(student == null) {
                        break;
                    }
                    if(student.getId().equals(id)) { //找到了要删除的学生
                        while(index<students.length-1) {
                            students[index] = students[index+1]; //把要删除学生其后的学生依次向前移一位
                            index++;
                        }
                        students[students.length-1] = null; //最后一个学生向前移一位了,所以最后一位就是null;若没有学生,此处虽看似多余,但却可以减少判断每次循环的判断
                        System.out.println("删除成功,已返回!");
                        return;
                    }
                    index++;
                }
                
                System.out.println("未找到学号为"+id+"的学生,无法删除");
                return;
            }
            case 3:{            
                System.out.println("·修改学生信息");
                System.out.println("请输入要修改的学生的学号:");
                String id = scanner.next();
                
                for(Student student:students) {
                    if(student == null) {
                        break;
                    }
                    if(student.getId().equals(id)) {
                        System.out.println("请输入新的姓名,点击enter键");
                        student.setName(scanner.next());
                        System.out.println("请输入新的手机号,点击enter键");
                        student.setMobile(scanner.next());
                        System.out.println("请输入新的家庭地址,点击enter键");
                        student.setAddress(scanner.next());
                        System.out.println("修改成功,已返回!");
                        return;
                    }
                }
                
                System.out.println("未查到学号为"+id+"的学生,无法修改!");
                return;
            }
            case 4:{
                
                boolean flag = false;
                System.out.println("·查询学生信息");
                System.out.println("请输入要查询学生的姓名:");
                String name = scanner.next();
                
                for(Student student: students) {
                    if(student == null) {
                        break;
                    }
                    if(student.getName().equals(name)) {
                        System.out.println(student);
                        flag = true;
                    }
                }
                
                if(!flag) {
                    System.out.println("姓名为"+name+"的学生不存在");
                    return;
                }        
                break;
            }
            default:
                System.out.println("系统未找到"+option+"操作项");
        }
        
    }
 
}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值