java基础练习——学生管理系统

1.需求:

学生管理系统功能:
  按1添加学生对象,按2查询学生,按3删除学生,按4修改学生属性,按5查看所有学生,按6退出。

2.主要知识点:

(1)类的创建,私有成员对象,带参/不带参构造方法,set/get方法,其它行为方法。

(2)集合的构造方法,集合方法(增add、删remove、改set、查get、长度size)。

(3)字符串的常用方法,比较equals()等。

(4)其它内容,包括数据类型、键盘键入scanner,输出sout等。

3.Tips

(1)练习使用快捷方法,如alt+insert、ctrl+p、ctrl+D、.sout等。

(2)使用break结束循环或return间接结束。

(3)比较姓名字符串时使用equals方法,而不用==,因为==是用于比较地址符,虽然equals方法默认底层也是使用==比较地址符,但String默认重写了equals方法,是对值进行比较而不是地址。

4.详细代码

main:

public class StudentManageSystem {
    public static void main(String[] args) {
//    需求:实现功能,按1添加学生,2查询学生,3,删除学生,4.修改学生,5.查看所有学生,6.退出
//        1.创建储存学生对象的集合
        ArrayList<Student> studentsList = new ArrayList<>();
        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.println("按6退出");
            Scanner sc = new Scanner(System.in);
//           2. 接收数字
            int input = sc.nextInt();
//           3. 实现功能
            if (input == 1) {
                addStudent(studentsList);
            }
            if (input == 2) {
                searchStudent(studentsList);
            }
            if (input == 3) {
                deleteStudent(studentsList);
            }
            if (input == 4) {
                setStudent(studentsList);
            }
            if (input == 5) {
                System.out.println("姓名——年龄——性别——id——地址");
                findStudent(studentsList);
            }
            if (input == 6) {
                break;
            }
        }
    }


    //   (1)设置添加学生方法
    public static void addStudent(ArrayList<Student> studentList) {
        System.out.println("开始添加学生信息,请输入学生姓名");
        Scanner sc = new Scanner(System.in);
        String name = sc.next();
        System.out.println("请输入年龄");
        int age = sc.nextInt();
        System.out.println("请输入性别");
        String gender = sc.next();
        System.out.println("请输入ID");
        int id = sc.nextInt();
        System.out.println("请输入地址");
        String address = sc.next();
//        创建对象
        Student s = new Student(name, age, gender, id, address);
//        添加至集合
        studentList.add(s);
    }

    //   (2)设置查找学生方法
    public static void searchStudent(ArrayList<Student> studentsList) {
        System.out.println("输入需查找学生的姓名");
        Scanner sc = new Scanner(System.in);
//        录入需查找的学生姓名
        String name = sc.next();
//        考虑空集
        if (studentsList.size() == 0) {
            System.out.println("目前为空集");
            return;
        }
//        遍历集合查找姓名
        for (int i = 0; i < studentsList.size(); i++) {
//            获取student对象
            Student s = studentsList.get(i);
//            判断是否有相等姓名
            if (name.equals(s.getName())) {//注意比较内容需要用equals方法
                System.out.println("已找到");
//                输出此人详细姓名
                System.out.println(s.getName() + ",年龄" + s.getAge() + ",性别" + s.getGender() + ",ID号" + s.getId() + ",住在" + s.getAddress());
                return;
            } else {
                System.out.println("查无此人");
            }
        }
    }


    //    (3)删除学生对象
    private static void deleteStudent(ArrayList<Student> studentsList) {
        System.out.println("输入需要删除的学生的姓名");
        Scanner sc = new Scanner(System.in);
//        录入需查找的学生姓名
        String name = sc.next();
//        考虑空集
        if (studentsList.size() == 0) {
            System.out.println("目前为空集");
            return;
        }
//        遍历集合查找姓名
        for (int i = 0; i < studentsList.size(); i++) {
//            获取student对象
            Student s = studentsList.get(i);
//            判断是否有相等姓名
            if (name.equals(s.getName())) {//注意比较内容需要用equals方法
                studentsList.remove(s);
                System.out.println("删除");
                return;
            } else {
                System.out.println("查无此人");
                return;
            }
        }
    }

    //  (4)  修改学生信息
    private static void setStudent(ArrayList<Student> studentsList) {
        System.out.println("输入需要修改学生的姓名");
//        考虑空集
        if (studentsList.size() == 0) {
            System.out.println("目前为空集");
            return;
        }
        Scanner sc = new Scanner(System.in);
//        录入需查找的学生姓名
        String name = sc.next();
//    需修改的属性
        System.out.println("输入需要修改属性");
        String className = sc.next();
//        遍历集合查找姓名
        for (int i = 0; i < studentsList.size(); i++) {
//        找到需要修改的对象,再找到需要修改的属性
            Student s = studentsList.get(i);
            if (name.equals(s.getName())) {
                System.out.println("输入新内容");
                if (className.equals("姓名")) {
                    s.setName(sc.next());
                    break;
                }
                else if (className.equals("性别")) {
                    s.setGender(sc.next());
                    break;
                }
                else if  (className.equals("年龄")) {
                    s.setAge(sc.nextInt());
                    break;
                }
                else if  (className.equals("id")) {
                    s.setId(sc.nextInt());
                    break;
                }
                else if  (className.equals("地址")) {
                    s.setAddress(sc.next());
                    break;
                }
                else{
                    System.out.println("输入不合法");
                    return;
                }
            }
        }
        System.out.println("修改完成");
    }

    //   (5)设置查看学生方法
    public static void findStudent(ArrayList<Student> studentList) {
        for (int i = 0; i < studentList.size(); i++) {
//                    获取student对象
            Student s = studentList.get(i);
//                   读取对象中属性(成员变量)
            System.out.println(s.getName() + "——" + s.getAge() + "——" + s.getGender() + "——" + s.getId() + "——" + s.getAddress());
        }
    }
}

Student 类:

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

    public Student() {
    }

    public Student(String name, int age, String gender, int id, String address) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.id = id;
        this.address = address;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return age
     */
    public int getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(int age) {
        this.age = age;
    }

    /**
     * 获取
     * @return gender
     */
    public String getGender() {
        return gender;
    }

    /**
     * 设置
     * @param gender
     */
    public void setGender(String gender) {
        this.gender = gender;
    }

    /**
     * 获取
     * @return id
     */
    public int getId() {
        return id;
    }

    /**
     * 设置
     * @param id
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * 获取
     * @return address
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置
     * @param address
     */
    public void setAddress(String address) {
        this.address = address;
    }


}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM框架学习宝典:入门、进阶、精通,全方位代码项目资 一、探索SSM的无限可能 SSM(Spring + Spring MVC + MyBatis)框架作为Java开发中的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您从零基础开始,逐步掌握SSM的核心技术和最佳实践,助您在Java Web开发领域更上一层楼。 二、资料亮点 基础教程与练习项目:从基础知识讲起,结合实际练习项目,让您轻松上手SSM开发。 进阶技术与案例分析:针对进阶开发者,提供深入的技术探讨和案例分析,助您深入理解SSM的高级特性。 实战项目与经验分享:通过实际项目实战,让您在实践中掌握SSM的运用,同时分享经验与心得,让您少走弯路。 三、适用人群与场景 无论您是初学者还是资深开发者,无论您是在校学生还是职场人士,本系列资料都将是您学习SSM的得力助手。适用于Java Web开发、企业级应用开发、个人项目实践等多个领域。 四、使用建议 系统学习:按照资料提供的顺序进行系统学习,确保知识体系的完整性。 实践为王:在学习过程中注重实践操作,通过实际项目加深理解。 持续反馈与调整:根据学习进度和反馈,适时调整学习策略,提高学习效果。 五、安全与责任 在使用SSM框架进行开发时,请确保遵循最佳实践和安全准则,以保障系统的稳定性和安全性。在使用提供的资料时,请遵守版权法规,尊重原作者的权益。让我们共同为推动SSM技术的发展而努力!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值