利用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();
        }
    }
}

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

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

  • 13
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 我可以为您提供一些有关如何用Java编写学生信息管理系统的指导建议。首先,您可以使用Java的类和对象来定义学生信息的结构,包括学生的姓名、年龄、学号等信息。其次,您可以使用Java的数据结构,如数组、链表、栈等,来存储学生的信息,并编写相应的函数来实现学生信息增删改查功能。最后,您可以使用Java的图形界面技术,如Java Swing、JavaFX等,来实现学生信息管理系统的图形化界面。 ### 回答2: 学生信息管理系统是一个用来管理学生信息的软件工具。使用Java编写这个系统可以实现学生信息的增加、删除、修改和查询功能。 在编写这个系统之前,首先需要定义学生信息的数据结构。可以创建一个学生类,包含学生的姓名、学号、年龄、性别等基本信息,并根据需要添加其他更具体的信息字段。 使用Java的面向对象编程思想,可以定义一个学生信息管理系统类,该类包含对学生信息增删改查方法。例如,实现一个addStudent()方法,用于添加新的学生信息,该方法接收学生对象作为参数,并将其添加到学生信息列表中。类似地,可以实现deleteStudent()方法来删除指定学生信息,updateStudent()方法来更新学生信息,searchStudent()方法来根据条件查询学生信息。 在实现增删改查方法时,可以使用Java提供的集合类如ArrayList来存储学生信息。通过遍历集合和比对学生信息的属性,可以实现指定条件的查询操作。同时,为了方便管理学生信息,可以使用哈希表或者数据库来存储学生信息实现快速查找和修改。 除了基本的增删改查功能,一个完善的学生信息管理系统还可以添加其他功能,如导入导出学生信息、统计学生信息等。 总之,通过使用Java编写学生信息管理系统,可以方便地管理学生的基本信息,同时提供相应的增删改查功能,提高学生信息的管理效率和准确性。 ### 回答3: 学生信息管理系统是一个可以用来管理学生信息的软件系统,在Java编程语言中可以使用面向对象的方式来实现。 首先,需要定义一个Student类来表示一个学生对象,该类可以包含学生的姓名、学号、性别、年龄等属性。 接下来,可以利用集合类(例如ArrayList)来存储学生对象,以便进行增删改查操作。可以定义一个StudentManager类,该类中包含可以对学生信息进行增删改查的方法。 例如,通过编写addStudent方法来添加学生信息,deleteStudent方法来删除学生信息,updateStudent方法来更新学生信息,searchStudent方法来查询学生信息。 在addStudent方法中,可以通过接收用户输入的数据来创建一个Student对象,并将其加入到集合类中。 在deleteStudent方法中,可以接收用户输入的学号参数,通过遍历集合类找到该学生信息并删除。 在updateStudent方法中,可以接收用户输入的学号参数,通过遍历集合类找到对应的学生信息,再根据用户输入的新的属性值进行更新。 在searchStudent方法中,可以接收用户输入的学号参数,通过遍历集合类找到对应的学生信息并返回。 最后,可以在主函数中创建一个学生信息管理系统对象,通过调用该对象的方法,实现学生信息增删改查。 需要注意的是,学生信息管理系统还可以进一步优化,例如可以增加文件读写功能,将学生信息保存到文件中,实现数据的持久化;还可以增加用户界面,通过图形界面或者命令行界面来与用户交互。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值