Java学生管理系统

Java学生管理系统

一、学生管理系统实现思路

  1. 定义学生类
  2. 主界面代码的编写
  3. 实现添加学生方法(判断学号是否重复)
  4. 实现删除学生方法
  5. 实现修改学生方法
  6. 实现查看学生方法
  7. 退出学生管理系统

所有方法注意判断集合是否为空,添加方法除外

二、定义学生类

学生类

package com.ge.arraylist.demo03;

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;
    }

    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. 创建集合对象,用于存储集合数据
  2. 编写主界面
  3. 用scanner实现键盘录入数据
  4. 用Switch语句完成操作的选择

主方法

public static void main(String[] args) {
    //创建集合对象,用于存储集合数据
    ArrayList<Student> array = 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("--------请输入你的选择:");

        //用scanner实现键盘录入数据
        Scanner sc = new Scanner(System.in);
        String line = sc.nextLine();

        //用Switch语句完成操作的选择
        switch (line) {
            case "1":
                addStudent(array);
                break;
            case "2":
                deleteStudent(array);
                break;
            case "3":
                updateStudent(array);
                break;
            case "4":
                findStudent(array);
                break;
            case "5":
                System.out.println("谢谢使用");
                System.exit(0); //JVM退出
        }
    }
}

四、1.添加学生方法的编写

//定义一个方法,用于添加学生信息
public static void addStudent(ArrayList<Student> array) {
    //使用键盘录入学生信息
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入学生学号:");
    String sid = sc.nextLine();
    boolean flag = sidRepetition(array, sid);
    if (flag) {
        System.out.println("添加的学号重复,请重新输入!");
    } else {
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();
        System.out.println("请输入学生年龄:");
        String age = sc.nextLine();
        System.out.println("请输入学生居住地:");
        String address = sc.nextLine();

        //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
        Student s = new Student();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);

        //往集合中添加对象
        array.add(s);
        //给出添加成功提示
        System.out.println("添加成功!");
    }
}

2.判断学号是否重复

//定义一个方法,判断学号是否重复
    public static boolean sidRepetition(ArrayList<Student> array, String sid) {
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            if (s.getSid().equals(sid)) {
                return true;
            } else {
                return false;
            }
        }
        return false;
    }

五、删除学生方法的编写

//定义一个方法,用于删除学生信息
public static void deleteStudent(ArrayList<Student> array) {
    //判断集合中是否有数据
    if (array.size() == 0) {
        System.out.println("请先录入学生信息!!!!");
        return;
    }
    //键盘录入要删除的学号
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入你要删除的学号:");
    String sid = sc.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("删除成功!");
    }
}

六、修改学生方法的编写

//定义一个方法,用于修改学生信息
public static void updateStudent(ArrayList<Student> array) {
    //判断集合中是否有数据
    if (array.size() == 0) {
        System.out.println("请先录入学生信息!!!!");
        return;
    }

    //键盘录入要修改的学号
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入你要修改的学号:");
    String sid = sc.nextLine();

    //键盘录入你要修改的信息
    System.out.println("请输入学生新姓名:");
    String name = sc.nextLine();
    System.out.println("请输入学生新年龄:");
    String age = sc.nextLine();
    System.out.println("请输入学生新居住地:");
    String address = sc.nextLine();

    //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
    Student s = new Student();
    s.setSid(sid);
    s.setName(name);
    s.setAge(age);
    s.setAddress(address);

    //遍历集合,修改信息
    for (int i = 0; i < array.size(); i++) {
        Student student = array.get(i);
        if (student.getSid().equals(sid)) {
            array.set(i, s);
            System.out.println("学生信息修改成功!");
            return;
        }
    }
    System.out.println("没有此学号,请重新输入:");
}

七、查看学生信息方法编写

//定义一个方法,用于查看学生信息
public static void findStudent(ArrayList<Student> array) {
    //判断集合中是否有数据
    if (array.size() == 0) {
        System.out.println("请先录入学生信息!!!!");
        return;
    }
    //显示表头信息
    System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
    for (int i = 0; i < array.size(); i++) {
        Student s = array.get(i);
        System.out.println(s.getSid() + "\t\t" + s.getName() + "\t\t"
                           + s.getAge() + "岁\t" + s.getAddress());
    }
}

八、总代码

package com.ge.arraylist.demo03;

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

/*
    学生管理系统
 */
public class StudentManager {
    public static void main(String[] args) {
        //创建集合对象,用于存储集合数据
        ArrayList<Student> array = 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("--------请输入你的选择:");

            //用scanner实现键盘录入数据
            Scanner sc = new Scanner(System.in);
            String line = sc.nextLine();

            //用Switch语句完成操作的选择
            switch (line) {
                case "1":
                    addStudent(array);
                    break;
                case "2":
                    deleteStudent(array);
                    break;
                case "3":
                    updateStudent(array);
                    break;
                case "4":
                    findStudent(array);
                    break;
                case "5":
                    System.out.println("谢谢使用");
                    System.exit(0); //JVM退出
            }
        }
    }

    //定义一个方法,用于添加学生信息
    public static void addStudent(ArrayList<Student> array) {
        //使用键盘录入学生信息
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生学号:");
        String sid = sc.nextLine();
        boolean flag = sidRepetition(array, sid);
        if (flag) {
            System.out.println("添加的学号重复,请重新输入!");
        } else {
            System.out.println("请输入学生姓名:");
            String name = sc.nextLine();
            System.out.println("请输入学生年龄:");
            String age = sc.nextLine();
            System.out.println("请输入学生居住地:");
            String address = sc.nextLine();

            //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
            Student s = new Student();
            s.setSid(sid);
            s.setName(name);
            s.setAge(age);
            s.setAddress(address);

            //往集合中添加对象
            array.add(s);
            //给出添加成功提示
            System.out.println("添加成功!");
        }
    }

    //定义一个方法,判断学号是否重复
    public static boolean sidRepetition(ArrayList<Student> array, String sid) {
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            if (s.getSid().equals(sid)) {
                return true;
            } else {
                return false;
            }
        }
        return false;
    }

    //定义一个方法,用于删除学生信息
    public static void deleteStudent(ArrayList<Student> array) {
        //判断集合中是否有数据
        if (array.size() == 0) {
            System.out.println("请先录入学生信息!!!!");
            return;
        }
        //键盘录入要删除的学号
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你要删除的学号:");
        String sid = sc.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("删除成功!");
        }
    }

    //定义一个方法,用于修改学生信息
    public static void updateStudent(ArrayList<Student> array) {
        //判断集合中是否有数据
        if (array.size() == 0) {
            System.out.println("请先录入学生信息!!!!");
            return;
        }

        //键盘录入要修改的学号
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你要修改的学号:");
        String sid = sc.nextLine();

        //键盘录入你要修改的信息
        System.out.println("请输入学生新姓名:");
        String name = sc.nextLine();
        System.out.println("请输入学生新年龄:");
        String age = sc.nextLine();
        System.out.println("请输入学生新居住地:");
        String address = sc.nextLine();

        //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
        Student s = new Student();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);

        //遍历集合,修改信息
        for (int i = 0; i < array.size(); i++) {
            Student student = array.get(i);
            if (student.getSid().equals(sid)) {
                array.set(i, s);
                System.out.println("学生信息修改成功!");
                return;
            }
        }
        System.out.println("没有此学号,请重新输入:");
    }

    //定义一个方法,用于查看学生信息
    public static void findStudent(ArrayList<Student> array) {
        //判断集合中是否有数据
        if (array.size() == 0) {
            System.out.println("请先录入学生信息!!!!");
            return;
        }
        //显示表头信息
        System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            System.out.println(s.getSid() + "\t\t" + s.getName() + "\t\t"
                    + s.getAge() + "岁\t" + s.getAddress());
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值