利用Java实现简单的学生信息系统的增删改查

  • Post author:
  • Post category:java


题目要求:

*  功能:

*      1、录入学员信息

*      录入学员信息(编号,姓名,性别,年龄,成绩),要求学员(编号相同

*      表示同一个学员)不可重复,如果录入重复学员需要重新录入信息,如果成功

*      则表示录入成功,提示是否继续录入,不继续则返回选择菜单功能,继续则可

*      继续录入学员信息。

*      2、查看所有学员信息(根据成绩降序,如果成绩一样根据年龄降序,如果年龄

*      一样根据编号进行升序)

*      3、根据学员编号查看学员信息

*      4、删除指定学员信息(可根据学员编号进行删除)

*      5、修改学员信息(根据输入学员编号进行修改学员信息)

*          根据输入的学员编号首先查看学员当前信息,然后再修改

*      6、退出系统

菜单功能实现:

package jihe;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        do {
            System.out.println("        欢迎进入系统        ");
            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("                           ");
            System.out.println("请输入功能编号:");
            Scanner sc = new Scanner(System.in);
            int index = sc.nextInt();
            switch (index) {
                case 1:
                    Insert.insert();//调用录入学生信息函数
                    break;
                case 2:
                    SelectAll.selectAll();//查看所有学员信息
                    break;
                case 3:
                    SelectId.selectId();//根据学员编号查看学员信息
                    break;
                case 4:
                    Delete.delete();//删除指定学员信息
                    break;
                case 5:
                    UpDate.upDate();//修改学员信息
                    break;
                case 6:
                    System.exit(0);//退出系统
                default:
                    System.out.println("您输入的编号有误,请重新输入");
                    System.out.println("                       ");
            }
        }while(true);
    }
}

学生实体的信息,get和set方法、重写equals、hashCode、toString方法

package jihe;

import java.util.Objects;

public class Student {
    private int id;
    private String name;
    private String sex;
    private int age;
    private double grade;

    public Student() {
    }
    public Student(int id, String name, String sex, int age, double grade) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.grade = grade;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getGrade() {
        return grade;
    }

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

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return id == student.id;
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                ", grade=" + grade +
                '}';
    }
}

录入学员信息的实现

package jihe;

import java.util.LinkedList;
import java.util.Scanner;

public class Insert {
    static LinkedList<Student> list=new LinkedList<>();
    public static void insert(){
        Scanner sc=new Scanner(System.in);
        do {
            System.out.println("请输入学员编号:");
            int sid = sc.nextInt();
            System.out.println("请输入学员姓名:");
            String sname = sc.next();
            System.out.println("请输入学员性别:");
            String ssex = sc.next();
            System.out.println("请输入学员年龄:");
            int sage = sc.nextInt();
            System.out.println("请输入学员成绩:");
            double sgrade = sc.nextDouble();
            Student student = new Student(sid, sname, ssex, sage, sgrade);
            if(!list.contains(student)) {
                list.add(student);
                System.out.println("录入信息成功!是否继续输入。  1:继续   2:返回菜单");
                int str=sc.nextInt();
                if(!(str==1)){
                    break;
                }
            }else{
                System.out.println("录入学员信息重复,请重新输入:");
            }
            System.out.println(list);
        }while(true);
    }
}

查看所有学员信息

package jihe;

import java.util.Collections;
import java.util.Comparator;

public class SelectAll {
    public static void selectAll() {
        Collections.sort(Insert.list, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                //根据成绩降序
                double result = o2.getGrade() - o1.getGrade();
                if (result == 0) {//如果成绩相同,根据年龄降序
                    result = o2.getAge() - o1.getAge();
                    if (result == 0) {//如果年龄相同。根据编号升序
                        result = o1.getId() - o1.getAge();
                    }
                }
                return (int) result;
            }
        });
        System.out.println(Insert.list);
    }
}

根据学生编号查看学生信息

package jihe;

import java.util.Scanner;

public class SelectId {
    public static void selectId() {
        System.out.println("请输入要查找学生的编号:");
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        boolean b = false;
        for (Student stu : Insert.list) {
            if (i == stu.getId()) {
                System.out.println(stu);
                b = true;
                break;
            }

        }
        if (b == false) {
            System.out.println("您查找的学生不存在,请重新输入:");
            selectId();
        }
    }
}

删除指定学员信息

package jihe;

import java.util.Scanner;

public class Delete {
    public static void delete(){
        System.out.println("请输入要删除学生的编号:");
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        boolean b = false;
        for (Student stu : Insert.list) {
            if (i == stu.getId()) {
                Insert.list.remove(stu);
                try {
                    System.out.println("删除成功!");
                } catch (Exception e) {
                    e.printStackTrace();
                }
                ;
                b = true;
                break;
            }
        }
        if (b == false) {
            System.out.println("您查找的学生不存在,请重新输入:");
            delete();
        }
    }
}

修改学员信息

package jihe;

import java.util.Scanner;

public class UpDate {
    public static void upDate() {
        System.out.println("请输入要修改学生的编号:");
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        boolean b = false;
        for (Student stu : Insert.list) {
            if (i == stu.getId()) {
                System.out.println(stu);
                System.out.println("请输入要修改学生信息的编号:1.id 2.name 3.sex 4.age 5.grade");
                int j=sc.nextInt();
                System.out.println("请输入修改的内容:");
                switch (j){
                    case 1:
                        stu.setId(sc.nextInt());
                        System.out.println("修改成功!");
                        System.out.println(stu);
                        break;
                    case 2:
                        stu.setName(sc.next());
                        System.out.println("修改成功!");
                        System.out.println(stu);
                        break;
                    case 3:
                        stu.setSex(sc.next());
                        System.out.println("修改成功!");
                        System.out.println(stu);
                        break;
                    case 4:
                        stu.setAge(sc.nextInt());
                        System.out.println("修改成功!");
                        System.out.println(stu);
                        break;
                    case 5:
                        stu.setGrade(sc.nextDouble());
                        System.out.println("修改成功!");
                        System.out.println(stu);
                        break;
                }
                b = true;
                break;
            }
        }
        if (b == false) {
            System.out.println("您修改的学生不存在,请重新输入:");
            upDate();
        }
    }
}

简单的学生信息管理的增删改查就完成了

喜欢的朋友可以点点赞,不喜勿喷!!!!!



版权声明:本文为qq_45299673原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。