Java利用集合实现学生管理系统(超详细)

写在最前:

大家好!今天开始,利用博客来记录我的学习历程。

软件需求:

Java利用集合实现学生管理系统,实现“添加学生”,“删除学生”,“修改学生”,“查看所有学生”

整体实现思路:

主界面利用while(true)保证程序一直运行,用户选择的功能之后,利用switch语句选择对应的方法来实现具体功能。

ArrayList常用方法

arrayList.add(); —————— 加入一个元素
arrayLIst.addAll(); —————— 加入集合元素
arrayList.add(index, element);—————在指定位置添加元素
arrayList.size();—————返回集合元素的个数
arrayList.get​(int index) ;—————返回此列表中指定位置的元素。

具体方法代码详解:

学生类:

public class student {
    public static void main(String[] args) {
    }
    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;
    }
}


标题主界面循环代码:

import java.util.ArrayList;
import java.util.Scanner;
public class studentmanger {
    public static void main(String[] args) {
        ArrayList<student> array =new ArrayList<student>();
        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 sc=new Scanner(System.in);
            String line = sc.nextLine();
            switch(line)
            {
                case "1":
//                    System.out.println("添加学生");
                    addstudent(array);//添加学生实现方法
                    break;
                case "2":
//                    System.out.println("删除学生");
                    remove(array);//删除学生实现方法
                    break;
                case "3":
//                    System.out.println("修改学生");
                    change(array);//修改学生实现方法
                    break;
                case "4":
//                    System.out.println("查看所有学生");
                    findstudent(array);//查看所有学生实现方法
                    break;
                case "5":
                    System.out.print("谢谢使用!");
                    System.exit(0);//退出
            }
        }
        }

添加学生代码:

public static void addstudent(ArrayList<student> array){
        int q=0;//此处q作为检验的标志,如果发现了重复元素,则q自加
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学号");
        String sid =sc.nextLine();
        for(int i=0;i<array.size();i++){//与已经添加集合的元素进行对比,如果相同则输出相应内容
            student s= array.get(i);
            if(s.getSid().equals(sid)){//元素的sid变量与刚获取的变量利用方法进行对比
                System.out.println("输入的学号有重复,请检查后重新输入!");
                q++;
                break;
            }
        }
         if(q==0){
            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.setAddress(address);
            s.setName(name);
            s.setAge(age);
            array.add(s);
            System.out.println("添加学生成功!");
        }

    }

修改学生代码:

public static void remove(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 s = array.get(i);
            if (s.getSid().equals(sid)) {
                array.remove(i);
                System.out.println("删除该学生成功!");

                break;
            } else if(i==array.size()-1)
            {
                System.out.println("没有找到该学生,请检查学号是否正确!");
                remove(array);
            }
        }
    }

修改学生代码:

public static void change (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 s =array.get(i);
            if(s.getSid().equals(sid)){
                System.out.println("请输入要修改的内容");
                System.out.println("1 学号");
                System.out.println("2 姓名");
                System.out.println("3 年龄");
                System.out.println("4 居住地");
                String q = sc.nextLine();
                System.out.println("请输入修改后内容:");
                String date = sc.nextLine();
                 switch(q){
                    case "1":s.setSid(date);
                        System.out.println("修改成功!");
                        break;
                    case "2":s.setName(date);
                        System.out.println("修改成功!");
                        break;
                    case "3":s.setAge(date);
                        System.out.println("修改成功!");
                        break;
                    case "4":s.setAddress(date);
                        System.out.println("修改成功!");
                        break;                }
                break;
            }
            else if (i==array.size()-1)
            {
                System.out.println("没有找到该学生,请检查学号是否错误!");
                change(array);
            }
        }
    }
}

查看所有学生代码:

    public static void findstudent(ArrayList<student> array){
        if(array.size()==0)
            System.out.println("暂时没有学生被添加!");
        else {
            System.out.println("学号\t姓名\t年龄\t居住地");
            for(int i =0;i<array.size();i++) {
                student s= array.get(i);
                System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
            }
        }
    }

整体代码:

import java.util.ArrayList;
import java.util.Scanner;
public class studentmanger {
    public static void main(String[] args) {
        ArrayList<student> array =new ArrayList<student>();
        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 sc=new Scanner(System.in);
            String line = sc.nextLine();
            switch(line)
            {
                case "1":
//                    System.out.println("添加学生");
                    addstudent(array);
                    break;
                case "2":
//                    System.out.println("删除学生");
                    remove(array);
                    break;
                case "3":
//                    System.out.println("修改学生");
                    change(array);
                    break;
                case "4":
//                    System.out.println("查看所有学生");
                    findstudent(array);
                    break;
                case "5":
                    System.out.print("谢谢使用!");
                    System.exit(0);
            }
        }
        }
    public static void addstudent(ArrayList<student> array){
        int q=0;//此处q作为检验的标志,如果发现了重复元素,则q自加
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学号");
        String sid =sc.nextLine();
        for(int i=0;i<array.size();i++){//与已经添加集合的元素进行对比,如果相同则输出相应内容
            student s= array.get(i);
            if(s.getSid().equals(sid)){//元素的sid变量与刚获取的变量利用方法进行对比
                System.out.println("输入的学号有重复,请检查后重新输入!");
                q++;
                break;
            }
        }
         if(q==0){
            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.setAddress(address);
            s.setName(name);
            s.setAge(age);
            array.add(s);
            System.out.println("添加学生成功!");
        }

    }
    public static void findstudent(ArrayList<student> array){
        if(array.size()==0)
            System.out.println("暂时没有学生被添加!");
        else {
            System.out.println("学号\t姓名\t年龄\t居住地");
            for(int i =0;i<array.size();i++) {
                student s= array.get(i);
                System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
            }
        }
    }
    public static void remove(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 s = array.get(i);
            if (s.getSid().equals(sid)) {
                array.remove(i);
                System.out.println("删除该学生成功!");

                break;
            } else if(i==array.size()-1)
            {
                System.out.println("没有找到该学生,请检查学号是否正确!");
                remove(array);
            }
        }
    }
    public static void change (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 s =array.get(i);
            if(s.getSid().equals(sid)){
                System.out.println("请输入要修改的内容");
                System.out.println("1 学号");
                System.out.println("2 姓名");
                System.out.println("3 年龄");
                System.out.println("4 居住地");
                String q = sc.nextLine();
                System.out.println("请输入修改后内容:");
                String date = sc.nextLine();
                 switch(q){
                    case "1":s.setSid(date);
                        System.out.println("修改成功!");
                        break;
                    case "2":s.setName(date);
                        System.out.println("修改成功!");
                        break;
                    case "3":s.setAge(date);
                        System.out.println("修改成功!");
                        break;
                    case "4":s.setAddress(date);
                        System.out.println("修改成功!");
                        break;                }
                break;
            }
            else if (i==array.size()-1)
            {
                System.out.println("没有找到该学生,请检查学号是否错误!");
                change(array);
            }
        }
    }
}
发布了1 篇原创文章 · 获赞 0 · 访问量 22

猜你喜欢

转载自blog.csdn.net/qicaixiao/article/details/104544440