Java学生信息管理系统控制台版

Java实现学生管理系统—控制台版:
可以进行对学生信息的增删改查等一些列操作。
对于部分逻辑问题,例如修改到不存在的学生后,会进行提示返回。。。。
程序结果截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码如下:

package Student;

public class Student {
    
    
    //学号
    private String sid;
    //姓名
    private String name;
    //年龄
    private String age;
    //居住地
    private String address;
    //年级
    private  String grade;
    //专业信息
    private String major;
    public Student(){
    
    

    }

    public Student(String sid, String name, String age, String address, String grade, String major) {
    
    
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
        this.grade = grade;
        this.major = major;
    }

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

    public String getGrade() {
    
    
        return grade;
    }

    public void setGrade(String grade) {
    
    
        this.grade = grade;
    }

    public String getMajor() {
    
    
        return major;
    }

    public void setMajor(String major) {
    
    
        this.major = major;
    }
}

package Student;

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("6.退出");
            System.out.println("请输入你的选择:");
        //用Scanner实现键盘录入
            Scanner scanner = new Scanner(System.in);
            String line = scanner.nextLine();
        //用switch语句完成选择操作
            switch(line){
    
    
                case"1":
//                    System.out.println("添加学生");
                    addStudent(array);
                    break;
                case"2":
//                    System.out.println("删除学生");
                    deleteStudent(array);
                    break;
                case"3":
//                    System.out.println("修改学生");
                    updateStudent(array);
                    break;
                case"4":
//                    System.out.println("查看所有学生");
                    findAllStudent(array);
                    break;
                case"5":
                    findStudent(array);
                    break;
                case"6":
                    System.out.println("谢谢使用");
                    System.exit(0);//jvm退出。
            }
        }

    }

//    定义一个方法,用于添加学生信息。
    public static void addStudent(ArrayList<Student> array){
    
    
//        创建录入学生对象的数据信息,显示提升信息,提升输入何种信息
        Scanner scanner = new Scanner(System.in);


        String sid;
//        为了让程序能够回到这里,我们使用循环实现
        while(true){
    
    
            System.out.println("请输入学生学号:");
            sid = scanner.nextLine();
            boolean flag = isUsed(array,sid);
            if (flag){
    
    
                System.out.println("学号已经使用过,请从新输入:");
            }else {
    
    
                break;
            }
        }

        System.out.println("请输入学生姓名:");
        String name = scanner.nextLine();
        System.out.println("请输入学生年龄:");
        String age = scanner.nextLine();
        System.out.println("请输入学生年级:");
        String grade = scanner.nextLine();
        System.out.println("请输入学生专业");
        String major = scanner.nextLine();
        System.out.println("请输入学生居住地:");
        String address = scanner.nextLine();
//创建学生对象,把键盘录入的数据赋值个学生对象的成员变量
        Student student = new Student();
        student.setSid(sid);
        student.setName(name);
        student.setAge(age);
        student.setGrade(grade);
        student.setMajor(major);
        student.setAddress(address);
//        将学生对象添加到集合中
        array.add(student);
//        给出添加成功的提升
        System.out.println("添加学生成功!");
    }
//    定义一个方法,判断学号是否被使用
    public static boolean isUsed(ArrayList<Student> array,String sid){
    
    
        boolean flag=false;
        for (int i = 0; i < array.size(); i++) {
    
    
            Student student = array.get(i);
            if (student.getSid().equals(sid)){
    
    
                flag = true;
                break;
            }
        }

        return flag;
    }
    //删除学生
    public static void deleteStudent(ArrayList<Student> array){
    
    
//        这里录入要删除的学生信息。
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你要删除的学生学号:");
        String sid = scanner.nextLine();
//        遍历集合后将对应的对象从集合中删除。
        int index=-1;
        for (int i = 0; i < array.size(); i++) {
    
    
            Student student = array.get(i);
            if (student.getSid().equals(sid)){
    
    //比较
                index = i;
                break;
            }
        }
        if (index==-1){
    
    
            System.out.println("该信息不存在,请重新输入!");
        }else {
    
    
            array.remove(index);
            System.out.println("删除学生成功");
        }
    }
    //查看所有学生
    public static void findAllStudent(ArrayList<Student> array){
    
    
        if (array.size()==0){
    
    
            System.out.println("无数据,请先添加信息");
            return;
        }
        System.out.println("学号\t\t\t姓名\t\t年龄\t\t年级\t\t专业\t\t居住地");

        for (int i = 0; i < array.size(); i++) {
    
    
            Student  student = array.get(i);
            System.out.println(student.getSid()+"\t\t"+ student.getName()+"\t\t"+ student.getAge()+"岁"+"\t"+student.getGrade()+"\t"+student.getMajor()+"\t"+ student.getAddress());
        }
    }
//    修改学生信息
    public static void updateStudent(ArrayList<Student> array){
    
    
//        键盘录入要修改的学生学号
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入需要修改的学生学号:");
        String sid = scanner.nextLine();
        for (int i = 0; i < array.size(); i++) {
    
    
            Student s = array.get(i);
            if (!s.getSid().equals(sid)){
    
    
                System.out.println("没有这个学生,输入错误");
                return;
            }
        }
//        键盘录入修改的信息
        System.out.println("请输入学生姓名:");
        String name = scanner.nextLine();
        System.out.println("请输入学生年龄:");
        String age = scanner.nextLine();
        System.out.println("请输入学生年级:");
        String grade = scanner.nextLine();
        System.out.println("请输入学生专业");
        String major = scanner.nextLine();
        System.out.println("请输入学生居住地:");
        String address = scanner.nextLine();
//        创建学生对象
        Student student = new Student();
        student.setSid(sid);
        student.setName(name);
        student.setAge(age);
        student.setGrade(grade);
        student.setMajor(major);
        student.setAddress(address);
//        遍历信息
        for (int i = 0; i < array.size(); i++) {
    
    
            Student student1 = array.get(i);
            if (student1.getSid().equals(sid)){
    
    
                array.set(i,student);
                break;
            }
        }
        System.out.println("修改成功");
    }
//    查找学生
    public static void findStudent(ArrayList<Student> array){
    
    
        Scanner scanner = new Scanner(System.in);
        if (array.size()==0){
    
    
            System.out.println("无数据,请先添加信息");
            return;
        }
        System.out.println("输入你想查找的学生学号:");
        String sid = scanner.nextLine();

        System.out.println("学号\t\t\t姓名\t\t年龄\t\t年级\t\t专业\t\t居住地");
        for (int i = 0; i < array.size(); i++) {
    
    
            Student  student = array.get(i);
            if (student.getSid().equals(sid))
            System.out.println(student.getSid()+"\t\t"+ student.getName()+"\t\t"+ student.getAge()+"岁"+"\t"+student.getGrade()+"\t"+student.getMajor()+"\t"+ student.getAddress());
        }
    }
}



Talk is cheap, show me the code! —— 薪火工作室!

猜你喜欢

转载自blog.csdn.net/qq_52050769/article/details/116851791