Java基础课程设计学生管理系统:控制台显示(大一大二),源码和详细分析!!!!

业务分析和搭建

需求文档:控制台的方式写学生管理系统(1.添加,2.删除,3.修改,4.查询,5.退出)

学生类:id ,name,age,address

添加功能:id唯一,键盘录入

删除功能:键盘录入删除的id ,提示存在删除成功/不存在回菜单

修改功能:键盘录入修改 id ,提示存在修改成功/不存在回菜单

查询功能:打印所有学生信息,不存在,请添加后再查询

package student;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentSystem {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>(); // 使用集合存储数据[3](@ref)
        Scanner scanner = new Scanner(System.in);
        while(true) {
            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.print("请输入您的选择:");

            int choose = scanner.nextInt();
            switch (choose) {
                case 1:
                    addStudent(list);
                    break;
                case 2:
                    deleteStudent(list);
                    break;
                case 3:
                    updateStudent(list);
                    break;
                case 4:
                    selectStudent(list);
                    break;
                case 5:
                    System.out.println("系统已退出");
                    System.exit(0);
                default:
                    System.out.println("无效选项,请重新输入");
            }
        }
    }

JavaBean

package student;

public class Student {
    private String name;
    private int age;
    private String id;
    private String address;

    public Student() {
    }

    public Student(String name, int age, String id, String address) {
        this.name = name;
        this.age = age;
        this.id = id;
        this.address = address;
    }//set/get............省略

查询和添加

//1添加学生
    public static void addStudent(ArrayList<Student> list){
        Student stu=new Student();
    Scanner sc = new Scanner(System.in);
    //String id=null;
//ctrl+alt+t
        while (true) {//
            System.out.println("请输入id:");
            String id =sc.next();
//判断id是否存在!!!
            boolean flag= containsStudent(list,id);
            if(flag){
                System.out.println("id已经存在!");

            }else {
               stu.setId(id); break;}
        }

        System.out.println("请输入姓名:");
        String name =sc.next();
         stu.setName(name);

        System.out.println("请输入年龄:");
        int age =sc.nextInt();
        stu.setAge(age);

        System.out.println("请输入地址:");
        String address =sc.next();
        stu.setAddress(address);

         list.add(stu);
        System.out.println("信息添加成功!!");


    }
//3查询
    public static void selectStudent(ArrayList<Student> list){

        if(list.size() == 0){
            System.out.println("当前无学生信息,请添加后查询");
            return;//结束
        }
            System.out.println("id\t\t姓名\t\t年龄\t\t家庭住址");

          for(int i=0;i<list.size();i++){
             Student stu=list.get(i);
            System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
            }


    }

删除和修改

//2删除
    public static void deleteStudent(ArrayList<Student> list){
        System.out.println("2:删除学生");
        Student stu=new Student();
         Scanner sc = new Scanner(System.in);

        while (true) {//
            System.out.println("请输入id:");
            String id =sc.next();
//判断id是否存在!!!
            boolean flag= containsStudent(list,id);
            if(flag){
                int index=  getIndex(list, id);
                if(index!=-1) {
                    list.remove(index);
                    System.out.println("id为"+id+"的学生"+"删除成功!");
                    break;
                }
            }else {
                System.out.println("id不存在");
            }
        }

    }
//4修改
    public static void updateStudent(ArrayList<Student> list){
        Student stu=new Student();
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入要修改的id:");
            String id =sc.next();
            boolean flag= containsStudent(list,id);
            if(flag){
                int index=  getIndex(list, id);
                if(index!=-1) {

                    stu.setId(id);

                    System.out.println("请输入新的姓名:") ;
                    String name =sc.next();
                    stu.setName(name);

                    System.out.println("请输入新年龄:");
                    int age =sc.nextInt();
                    stu.setAge(age);

                    System.out.println("请输入新地址:");
                    String address =sc.next();
                    stu.setAddress(address);

                 list.set(index,stu);
                System.out.println("id为"+id+"的学生"+"修改成功!");break;
                }

            }
            else {System.out.println("id不存在"); }
        }


    }
//p判断id在集合中是否存在
    public static boolean containsStudent(ArrayList<Student> list,String id){
        for(int i=0;i<list.size();i++){
            Student stu=list.get(i);
            String stuId=stu.getId();
            if(stuId.equals(id)){
                return true;
            }
        }
        return false;
    }
//id 获取集合的索引
    public static int getIndex(ArrayList<Student> list,String id){
        for(int i=0;i<list.size();i++){
            Student stu=list.get(i);
            if(stu.getId().equals(id)){
                return i;
            }
        }//循环结束没有找到,
            return  -1;
    }
}

后续会更新升级版本就是+登录+验证操作,感谢至此!!!!!!!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值