简单的学生管理系统-Java

StudentManager.java
package com.arraylist;

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

public class StudentManager {
    public static void main(String[] args) {
        //简单的学生管理系统
        //创建集合对象
        ArrayList<Student> array = new ArrayList<>();

        //查看界面:
        while (true) {
            show(array);
        }


    }

    //添加学生信息
    public static void addStudent(ArrayList<Student> array) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入添加的学生学号");
        String sid = sc.nextLine();

        //判断sid是否存在
        while (isUsed(array, sid)) {
            System.out.println("该学号已存在,请重新输入学生学号:");
            sid = sc.nextLine();
        }

        System.out.println("请输入添加的学生姓名");
        String name = sc.nextLine();
        System.out.println("请输入添加的学生年龄");
        String age = sc.nextLine();
        System.out.println("请输入添加的学生住址");
        String address = sc.nextLine();

        System.out.println("添加成功与否:" + array.add(new Student(sid, name, age, address)));

    }

    //查看学生信息
    public static void findAllStudent(ArrayList<Student> array) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入你想要查看的学生学号:");
        String sid = sc.nextLine();

        for (int i = 0; i < array.size(); i++) {
            Student sd = array.get(i);
            if (sd.getSid().equals(sid)) {
                System.out.println("学号:" + sd.getSid() + "\t姓名:" + sd.getName() + "\t年龄:" + sd.getAge() + "\t地址:" + sd.getAddress());
                System.out.println("---请问你还想继续查找吗?---");
                System.out.println("1.Yes\t2.No");
                while (true) {
                    int n = sc.nextInt();
                    if (n == 1) {
                        findAllStudent(array);
                        break;
                    } else if (n == 2) {
                        System.out.println("已停止查找操作");
                        break;
                    } else {
                        System.out.println("输入有误,请重新输入!");
                    }
                }
                break;
            } else if (i == array.size() - 1) {//查到最后一个仍不匹配
                System.out.println("未查找到该学生!");
            }
        }
    }

    //删除学生信息
    public static void deleteStudent(ArrayList<Student> array) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入你想要删除的学生学号:");
        String sid = sc.nextLine();
        for (int i = 0; i < array.size(); i++) {
            Student sd = array.get(i);
            if (sd.getSid().equals(sid)) {
                System.out.println("---你确认删除吗?---");
                System.out.println("1.Yes\t2.No");
                while (true) {
                    int n = sc.nextInt();
                    if (n == 1) {
                        Student sd2 = array.remove(i);
                        System.out.println("已移除学号为" + sd2.getSid() + "的学生");
                        System.out.println("请问你还要继续删除学生吗?");
                        System.out.println("1.Yes\t2.No");
                        while (true) {
                            int n2 = sc.nextInt();
                            if (n2 == 1) {
                                deleteStudent(array);
                                break;
                            } else if (n2 == 2) {
                                break;
                            } else {
                                System.out.println("输入有误,请重新输入!");
                            }
                        }
                        break;
                    } else if (n == 2) {
                        System.out.println("已停止删除操作");
                        break;
                    } else {
                        System.out.println("输入有误,请重新输入!");
                    }
                }
                break;
            } else if (i == array.size() - 1) {//查到最后一个仍不匹配
                System.out.println("未查找到该学生!");
            }
        }
    }

    //修改学生信息
    public static void updateStudent(ArrayList<Student> array) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入你想要修改的学生学号:");
        String sid = sc.nextLine();

        for (int i = 0; i < array.size(); i++) {
            Student sd = array.get(i);
            if (sd.getSid().equals(sid)) {
                System.out.println("---你确认修改吗?---");
                System.out.println("1.Yes\t2.No");
                while (true) {
                    int n = sc.nextInt();
                    if (n == 1) {
                        Scanner s = new Scanner(System.in);//不知道为啥这里必须创建一个新的Scanner对象,不然接收不到输入学生学号
                        System.out.println("请输入添加的学生学号");
                        String id = s.nextLine();
                        System.out.println("请输入添加的学生姓名");
                        String name = s.nextLine();
                        System.out.println("请输入添加的学生年龄");
                        String age = s.nextLine();
                        System.out.println("请输入添加的学生住址");
                        String address = s.nextLine();

                        array.set(i, new Student(id, name, age, address));
                        System.out.println("修改学号为:" + sid + " 的学生为:" + id + " 的学生成功与否:" + array.get(i).getSid().equals(id));

                        System.out.println("请问你还要继续修改学生吗?");
                        System.out.println("1.Yes\t2.No");
                        while (true) {
                            int n2 = sc.nextInt();
                            if (n2 == 1) {
                                updateStudent(array);
                                break;
                            } else if (n2 == 2) {
                                break;
                            } else {
                                System.out.println("输入有误,请重新输入!");
                            }
                        }
                    } else if (n == 2) {
                        System.out.println("已停止修改操作");
                        break;
                    } else {
                        System.out.println("输入有误,请重新输入!");
                    }
                    break;
                }
                break;
            } else if (i == array.size() - 1) {//查到最后一个仍不匹配
                System.out.println("未查找到该学生!");
            }
        }
    }

    //展示界面
    public static void show(ArrayList<Student> array) {
        System.out.println("|------欢迎来到学生管理系统------|");
        System.out.println("|请输入你要进行的操作:");
        System.out.println("|1.添加学生\t2.查看学生\t3.删除学生\t4.修改学生\t");
        System.out.println("|5.退出系统");
        System.out.println("|--------------------------------|");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        switch (n) {
            case 1:
                System.out.println("添加学生");
                addStudent(array);
                break;
            case 2:
                System.out.println("查看学生");
                findAllStudent(array);
                break;
            case 3:
                System.out.println("删除学生");
                deleteStudent(array);
                break;
            case 4:
                System.out.println("修改学生");
                updateStudent(array);
                break;
            case 5:
                System.out.println("谢谢使用!");
//                break;
                System.exit(0);//退出JVM
            default:
                System.out.println("输入有误,请重新输入!");
        }
    }

    //解决学号重复问题
    public static boolean isUsed(ArrayList<Student> array, String sid) {
        if (array.size() == 0) {
            return false;//集合内没有任何内容
        } else {
            for (int i = 0; i < array.size(); i++) {
                Student sd = array.get(i);
                if (sd.getSid().equals(sid)) {
                    return true;
                } else if (i == array.size() - 1) {
                    return false;
                }
            }
        }
        return true;
    }
}

Student.java

package com.arraylist;

public class Student {
    private String sid;
    private String name;
    private String age;
    private String address;

    public Student(){};

    //Alt + insert + Constructor
    public Student(String name,String age){
        this.name = name;
        this.age = age;
    }
    //Alt + insert + Constructor + Shift全选
    public Student(String sid,String name,String age,String address){
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    //Alt + insert + Getter and Setter + Shift全选
    public String getSid(){
        return sid;
    }
    public void setSid(String sid){
        this.sid = sid;
    }

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

    public String getAge(){
        return age;
    }
    public void setAge(){
        this.age = age;
    }

    public String getAddress(){
        return address;
    }
    public void setAddress(String address){
        this.address = address;
    }

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值