学生管理系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

12月25日练习内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、需求

----------欢迎来到学生管理系统----------
1。添加学生
2.删除学生
3.修改学生
4.查看所有学生
0.推出
请输入你的选择:

完善上述学生管理系统需求功能

二、学生类

1.类成员

学生需要知道学号,姓名,年龄,地址。

代码如下(示例):

 private String sId;//学号
 private String name;//姓名
 private String age;//年龄
 private String address;//地址

2.类实现

因为成员使私有的,所以需要创建setxx还有getxx方法让其他类进行访问。

代码如下(示例):

public class student {
    private String sId;//学号
    private String name;//姓名
    private String age;//年龄
    private String address;//地址

    //默认构造

    public student() {

    }

    //有参构造
    public student(String sId, String name, String age, String address) {
        this.sId = sId;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    //get / set 函数

    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(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

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

三、学生管理类

1.需要设计的方法

public class StudentManager {
    static int userSel = -1;//选择
    static ArrayList<student> array = new ArrayList<>();//储存学生信息

    public static void main(String[] args) {

    }

    //主界面
    public static int menu() {
        
    }

    //添加学生信息
    public static void addStudent(ArrayList<student> array) {
       

    }

    //判断学号是否重复
    public static boolean isUsed(ArrayList<student> array, String sid) {
       
    }

    //查看学生信息
    public static void findStudent(ArrayList<student> array) {
       

    }

    //删除学生信息
    public static void deleteStudent(ArrayList<student> array) {
        
    }

    //修改学生信息
    public static void updateStudent(ArrayList<student> array) {
      
}

 2.主界面方法完善

使用switch语句

 public static int menu() {
        System.out.println("----------欢迎来到学生管理系统----------");
        System.out.println("1。添加学生");
        System.out.println("2.删除学生");
        System.out.println("3.修改学生");
        System.out.println("4.查看所有学生");
        System.out.println("0.推出");
        System.out.println("请输入你的选择:");

        Scanner input = new Scanner(System.in);//输入
        userSel = input.nextInt();
        switch (userSel) {
            case 1:
                addStudent(array);
                break;
            case 2:
                deleteStudent(array);
                break;
            case 3:
                updateStudent(array);
                break;
            case 4:
                findStudent(array);
                break;
            case 0:
                System.out.println("感谢你的使用,再见!!");
                break;
            default:
                System.out.println("你的输入有误,请重新输入!!");
                break;
        }
        return userSel;
    }

3. 添加学生信息方法

 public static void addStudent(ArrayList<student> array) {
        //创建学生对象

        Scanner input = new Scanner(System.in);//输入
        student s = new student();

        //添加数据
        while (true) {
            System.out.println("请输入学生的学号:");
            String sid = input.nextLine();
            s.setsId(sid);
            if (isUsed(array, sid)) {
                System.out.println("添加失败,学号已存在");
            } else {
                break;
            }
        }
        System.out.println("请输入学生的姓名:");
        String name = input.nextLine();
        s.setName(name);

        System.out.println("请输入学生的年龄:");
        String age = input.nextLine();
        s.setAge(age);

        System.out.println("请输入学生的地址:");
        String address = input.nextLine();
        s.setAddress(address);

        //将数据添加到集合
        array.add(s);

        //输出信号
        System.out.println("添加学生信息成功!");

    }

4.判断学号是否重复方法

 public static boolean isUsed(ArrayList<student> array, String sid) {
        boolean flag = false;
        for (int i = 0; i < array.size(); i++) {
            student s = array.get(i);
            if (s.getsId().equals(sid)) {
                flag = true;
                break;
            }
        }
        return flag;
    }

5.查看学生信息方法

public static void findStudent(ArrayList<student> array) {
        if (array.size() == 0) {
            System.out.println("查找失败,请先添加信息!");
            return;
        } else {
            for (int i = 0; i < array.size(); i++) {
                student s = array.get(i);
                System.out.println("学号:" + s.getsId() + "\t" + "姓名:" + s.getName() + "\t" + "年龄:" + s.getAddress() + "\t" + "地址:" + s.getAddress());
            }
        }

    }

6.删除学生信息方法

 public static void deleteStudent(ArrayList<student> array) {
        Scanner input = new Scanner(System.in);
        System.out.println("请选择入:");
        System.out.println("1.根据学号删除");
        System.out.println("2.根据姓名删除");
        int choose = input.nextInt();
        switch (choose) {
            case 1: {
                System.out.println("请输入需要删除的学生的学号:");
                Scanner in = new Scanner(System.in);
                String sid = in.nextLine();
                int index = -1;
                for (int i = 0; i < array.size(); i++) {
                    student s = array.get(i);
                    if (s.getsId().equals(sid)) {
                        index = i;
                        break;
                    }
                }
                if (index == -1) {
                    System.out.println("删除失败,该学生不存在");
                } else {
                    array.remove(index);
                    System.out.println("删除成功!");
                }
                break;
            }
            case 2: {
                Scanner in = new Scanner(System.in);
                System.out.println("请输入需要删除的学生的姓名:");
                String name = in.nextLine();
                int index = -1;
                for (int i = 0; i < array.size(); i++) {
                    student s = array.get(i);
                    if (s.getName().equals(name)) {
                        index = i;
                        break;
                    }
                }
                if (index == -1) {
                    System.out.println("删除失败,该学生不存在");
                } else {
                    array.remove(index);
                    System.out.println("删除成功!");
                }
                break;
            }
            default:
                System.out.println("输入错误,请重新输入");
                break;
        }
    }

7.修改学生信息方法

  public static void updateStudent(ArrayList<student> array) {
        Scanner input = new Scanner(System.in);//输入

        student s = new student();

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

        //添加数据
        System.out.println("请输入你要修改的学生的新学号:");
        String sid = input.nextLine();
        s.setsId(sid);

        System.out.println("请输入你要修改的学生的新姓名:");
        String name = input.nextLine();
        s.setName(name);

        System.out.println("请输入你要修改的学生的新年龄:");
        String age = input.nextLine();
        s.setAge(age);

        System.out.println("请输入你要修改的学生的新地址:");
        String address = input.nextLine();
        s.setAddress(address);

        //遍历集合找到需要修改学生
        int index = -1;
        for (int i = 0; i < array.size(); i++) {
            student s1 = array.get(i);
            if (s1.getsId().equals(id)) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            System.out.println("修改失败,该学生不存在");
        } else {
            array.set(index, s);
            System.out.println("修改成功");
        }
    }

 四、完整代码

1.学生类代码

public class student {
    private String sId;//学号
    private String name;//姓名
    private String age;//年龄
    private String address;//地址

    //默认构造

    public student() {

    }

    //有参构造
    public student(String sId, String name, String age, String address) {
        this.sId = sId;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    //get / set 函数

    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(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

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

2.学生管理系统类代码

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

public class StudentManager {
    static int userSel = -1;//选择
    static ArrayList<student> array = new ArrayList<>();//储存学生信息

    public static void main(String[] args) {

        while (true) {
            int res = menu();
            if (res == 0)
                break;
        }
    }

    //主界面
    public static int menu() {
        System.out.println("----------欢迎来到学生管理系统----------");
        System.out.println("1。添加学生");
        System.out.println("2.删除学生");
        System.out.println("3.修改学生");
        System.out.println("4.查看所有学生");
        System.out.println("0.推出");
        System.out.println("请输入你的选择:");

        Scanner input = new Scanner(System.in);//输入
        userSel = input.nextInt();
        switch (userSel) {
            case 1:
                addStudent(array);
                break;
            case 2:
                deleteStudent(array);
                break;
            case 3:
                updateStudent(array);
                break;
            case 4:
                findStudent(array);
                break;
            case 0:
                System.out.println("感谢你的使用,再见!!");
                break;
            default:
                System.out.println("你的输入有误,请重新输入!!");
                break;
        }
        return userSel;
    }

    //添加学生信息
    public static void addStudent(ArrayList<student> array) {
        //创建学生对象

        Scanner input = new Scanner(System.in);//输入
        student s = new student();

        //添加数据
        while (true) {
            System.out.println("请输入学生的学号:");
            String sid = input.nextLine();
            s.setsId(sid);
            if (isUsed(array, sid)) {
                System.out.println("添加失败,学号已存在");
            } else {
                break;
            }
        }
        System.out.println("请输入学生的姓名:");
        String name = input.nextLine();
        s.setName(name);

        System.out.println("请输入学生的年龄:");
        String age = input.nextLine();
        s.setAge(age);

        System.out.println("请输入学生的地址:");
        String address = input.nextLine();
        s.setAddress(address);

        //将数据添加到集合
        array.add(s);

        //输出信号
        System.out.println("添加学生信息成功!");

    }

    //判断学号是否重复
    public static boolean isUsed(ArrayList<student> array, String sid) {
        boolean flag = false;
        for (int i = 0; i < array.size(); i++) {
            student s = array.get(i);
            if (s.getsId().equals(sid)) {
                flag = true;
                break;
            }
        }
        return flag;
    }

    //查看学生信息
    public static void findStudent(ArrayList<student> array) {
        if (array.size() == 0) {
            System.out.println("查找失败,请先添加信息!");
            return;
        } else {
            for (int i = 0; i < array.size(); i++) {
                student s = array.get(i);
                System.out.println("学号:" + s.getsId() + "\t" + "姓名:" + s.getName() + "\t" + "年龄:" + s.getAddress() + "\t" + "地址:" + s.getAddress());
            }
        }

    }

    //删除学生信息
    public static void deleteStudent(ArrayList<student> array) {
        Scanner input = new Scanner(System.in);
        System.out.println("请选择入:");
        System.out.println("1.根据学号删除");
        System.out.println("2.根据姓名删除");
        int choose = input.nextInt();
        switch (choose) {
            case 1: {
                System.out.println("请输入需要删除的学生的学号:");
                Scanner in = new Scanner(System.in);
                String sid = in.nextLine();
                int index = -1;
                for (int i = 0; i < array.size(); i++) {
                    student s = array.get(i);
                    if (s.getsId().equals(sid)) {
                        index = i;
                        break;
                    }
                }
                if (index == -1) {
                    System.out.println("删除失败,该学生不存在");
                } else {
                    array.remove(index);
                    System.out.println("删除成功!");
                }
                break;
            }
            case 2: {
                Scanner in = new Scanner(System.in);
                System.out.println("请输入需要删除的学生的姓名:");
                String name = in.nextLine();
                int index = -1;
                for (int i = 0; i < array.size(); i++) {
                    student s = array.get(i);
                    if (s.getName().equals(name)) {
                        index = i;
                        break;
                    }
                }
                if (index == -1) {
                    System.out.println("删除失败,该学生不存在");
                } else {
                    array.remove(index);
                    System.out.println("删除成功!");
                }
                break;
            }
            default:
                System.out.println("输入错误,请重新输入");
                break;
        }
    }

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

        student s = new student();

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

        //添加数据
        System.out.println("请输入你要修改的学生的新学号:");
        String sid = input.nextLine();
        s.setsId(sid);

        System.out.println("请输入你要修改的学生的新姓名:");
        String name = input.nextLine();
        s.setName(name);

        System.out.println("请输入你要修改的学生的新年龄:");
        String age = input.nextLine();
        s.setAge(age);

        System.out.println("请输入你要修改的学生的新地址:");
        String address = input.nextLine();
        s.setAddress(address);

        //遍历集合找到需要修改学生
        int index = -1;
        for (int i = 0; i < array.size(); i++) {
            student s1 = array.get(i);
            if (s1.getsId().equals(id)) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            System.out.println("修改失败,该学生不存在");
        } else {
            array.set(index, s);
            System.out.println("修改成功");
        }
    }
}

 


总结

提示:这里对文章进行总结:
 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mikudd3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值