Java学生信息管理系统

该文章介绍了一个简单的Java学生信息管理系统,不涉及数据库,通过Java基础实现增删改查功能。学生信息包括学号、姓名、学院和专业,学号作为唯一标识。文章详细展示了如何创建学生类、添加学生信息(检查学号重复性)、删除和修改信息以及查看信息的实现过程。
摘要由CSDN通过智能技术生成

Java学生信息管理系统


前言

简单实现Java学生信息管理系统,无数据库部分,仅用Java基础指数实现简单的Java学生信息管理系统。
学生信息可自由添加,功能仅限于简单的增删改查。

一、创建学生信息类

为简单操作,将学生信息设定为四项,学号,姓名,学院,专业,学号类似为数据库主键,不可重复,其他三项并无限制

package student_system;

public class student {
    private String name;
    private String id;
    private String major;
    private String college;

    public String getName() {
        return name;
    }

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

    public String getId() {
        return id;
    }

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

    public String getMajor() {
        return major;
    }

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

    public String getCollege() {
        return college;
    }

    public void setCollege(String college) {
        this.college = college;
    }

    @Override
    public String toString() {
        return "student{" +
                "name='" + name + '\'' +
                ", id=" + id +
                ", major='" + major + '\'' +
                ", college='" + college + '\'' +
                '}';
    }

二、实现系统功能

1.添加学生信息

代码如下(示例):

//将增加信息类功能封装为一个类,方便在主类中直接调用
package student_system;

public class add extends student{
    public void addname(student s,String name){
        s.setName(name);
    }
    public void addid(student s,String id){
        s.setId(id);
    }
    public void addcollage(student s,String collage){
        s.setCollege(collage);
    }
    public void addmajor(student s,String major){
        s.setMajor(major);
    }
}

在主类中设置判断学号是否重复功能,并在重复后执行推出,而在没有退出时,则会开始执行添加功能

Scanner input=new Scanner(System.in);
                    student s=new student();
                    System.out.println("-------------------------");
                    System.out.println("------------添加信息-------------");
                    System.out.println("-------------------------");
                    System.out.println("------------请输入ID-------------");
                    String id=input.nextLine();
                    boolean idif=false;
                    for (int i=0;i<ss.size();i++){
                        student flag=ss.get(i);
                        if(flag.getId().equals(id)){
                            idif=true;
                        }
                    }
                    if(!(idif)){
                        add.addid(s,id);
                        System.out.println("------------请输入姓名-------------");
                        String name=input.nextLine();
                        add.addname(s,name);
                        System.out.println("------------请输入学院-------------");
                        String college=input.nextLine();
                        add.addcollage(s,college);
                        System.out.println("------------请输入专业-------------");
                        String major=input.nextLine();
                        add.addmajor(s,major);
                        ss.add(s);
                        System.out.println("添加完成");
                        break;
                    }else {
                        System.out.println("1学号重复");
                        break;
                    }

2.删除学生信息

相同方式,设置删除功能,而删除功能较为简单,并未让其独立为一个类包,而是写入主函数中

 Scanner input=new Scanner(System.in);
                    System.out.println("-------------------------");
                    System.out.println("------------删除信息-------------");
                    System.out.println("-------------------------");
                    System.out.println("请输入ID");
                    String id=input.nextLine();
                    boolean idif=false;
                    for (int i=0;i<ss.size();i++){
                        student flag=ss.get(i);
                        if(flag.getId().equals(id)){
                            idif=true;
                            if(idif){
                                ss.remove(i);
                                break ;
                            }
                        }
                        if(!idif){
                            System.out.println("2查无此人");
                        }
                    }
                    break;

3.修改学生信息

相同方式,设置修改功能,同样写入主函数中

System.out.println("-------------------------");
                    System.out.println("------------修改信息-------------");
                    System.out.println("请输入ID");
                    Scanner input=new Scanner(System.in);
                    String id=input.nextLine();

                    int index=-1;
                    for (int i=0;i<ss.size();i++){
                        student flag=ss.get(i);
                        if(flag.getId().equals(id)){
                            index=i;
                        }
                    }
                    if(index==-1){
                        System.out.println("3查无此人");
                        break;
                    }
                    else {
                        student s=ss.get(index);
                        System.out.println("输入你想要更改的属性名 ID,姓名,学院,专业");
                        String attribute=input.nextLine();//属性
                        switch (attribute){
                            case "ID":{
                                System.out.println("输入要改为的ID");
                                s.setId(input.nextLine());
                            }
                            case "姓名":{
                                System.out.println("输入要改为的姓名");
                                s.setName(input.nextLine());
                            }
                            case "学院":{
                                System.out.println("输入要改为的学院");
                                s.setCollege(input.nextLine());
                            }
                            case "专业":{
                                System.out.println("输入要改为的专业");
                                s.setMajor(input.nextLine());
                            }
                        }
                        ss.set(index,s);
                        System.out.println("\n修改完成");
                    }
                    break;

4.查看学生信息

使用时直接调用tostring()方法即可,若有要求,修改tostring()方法,或者再在类中增加方法即可

System.out.println("-------------------------");
                    System.out.println("------------查看信息-------------");
                    System.out.println("输入你要查看的学号");
                    Scanner input=new Scanner(System.in);
                    String id=input.nextLine();
                    int flag=-1;
                    for(int i=0;i<ss.size();i++){
                        student s = ss.get(i);
                        if(s.getId().equals(id)){
                            flag=i;
                        }
                    }
                    if(flag==-1){
                        System.out.println("4查无此人");
                    }else {
                        student s= ss.get(flag);
                        System.out.println(s.toString());
                    }
                    break;

总结

`在使用时,由于未使用数据库功能,为方便操作,将学生类放入一个集合中,在集合中统一进行管理操作,且为观看正常,提前在集合中增加两位学生信息。
功能选择时,选择使用switch和case的结构方便管理
以及最后设置退出功能
代码共三块,主类和student以及add类

package student_system;

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

public class main {
    public static void main(String[] args) {
        ArrayList<student> ss=new ArrayList<>();
        add add=new add();
        student s1=new student();
        s1.setName("高启强");
        s1.setId("120001");
        s1.setCollege("机电工程学院");
        s1.setMajor("自动化技术");

        student s2=new student();
        s2.setName("高启盛");
        s2.setId("120002");
        s2.setCollege("化学化工学院");
        s2.setMajor("自然科学技术");

        ss.add(s1);
        ss.add(s2);
        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("-------------------------");
        System.out.println("------------请选择您要的功能-------------");
        Scanner sc=new Scanner(System.in);
        tmp:while (true){
            int option=sc.nextInt();
            switch (option){

                case 1:{
                    Scanner input=new Scanner(System.in);
                    student s=new student();
                    System.out.println("-------------------------");
                    System.out.println("------------添加信息-------------");
                    System.out.println("-------------------------");
                    System.out.println("------------请输入ID-------------");
                    String id=input.nextLine();
                    boolean idif=false;
                    for (int i=0;i<ss.size();i++){
                        student flag=ss.get(i);
                        if(flag.getId().equals(id)){
                            idif=true;
                        }
                    }
                    if(!(idif)){
                        add.addid(s,id);
                        System.out.println("------------请输入姓名-------------");
                        String name=input.nextLine();
                        add.addname(s,name);
                        System.out.println("------------请输入学院-------------");
                        String college=input.nextLine();
                        add.addcollage(s,college);
                        System.out.println("------------请输入专业-------------");
                        String major=input.nextLine();
                        add.addmajor(s,major);
                        ss.add(s);
                        System.out.println("添加完成");
                        break;
                    }else {
                        System.out.println("1学号重复");
                        break;
                    }
                }

                case 2:{//删
                    Scanner input=new Scanner(System.in);
                    System.out.println("-------------------------");
                    System.out.println("------------删除信息-------------");
                    System.out.println("-------------------------");
                    System.out.println("请输入ID");
                    String id=input.nextLine();
                    boolean idif=false;
                    for (int i=0;i<ss.size();i++){
                        student flag=ss.get(i);
                        if(flag.getId().equals(id)){
                            idif=true;
                            if(idif){
                                ss.remove(i);
                                break ;
                            }
                        }
                        if(!idif){
                            System.out.println("2查无此人");
                        }
                    }
                    break;
                }
                case 3:{//改
                    System.out.println("-------------------------");
                    System.out.println("------------修改信息-------------");
                    System.out.println("请输入ID");
                    Scanner input=new Scanner(System.in);
                    String id=input.nextLine();

                    int index=-1;
                    for (int i=0;i<ss.size();i++){
                        student flag=ss.get(i);
                        if(flag.getId().equals(id)){
                            index=i;
                        }
                    }
                    if(index==-1){
                        System.out.println("3查无此人");
                        break;
                    }
                    else {
                        student s=ss.get(index);
                        System.out.println("输入你想要更改的属性名 ID,姓名,学院,专业");
                        String attribute=input.nextLine();//属性
                        switch (attribute){
                            case "ID":{
                                System.out.println("输入要改为的ID");
                                s.setId(input.nextLine());
                            }
                            case "姓名":{
                                System.out.println("输入要改为的姓名");
                                s.setName(input.nextLine());
                            }
                            case "学院":{
                                System.out.println("输入要改为的学院");
                                s.setCollege(input.nextLine());
                            }
                            case "专业":{
                                System.out.println("输入要改为的专业");
                                s.setMajor(input.nextLine());
                            }
                        }
                        ss.set(index,s);
                        System.out.println("\n修改完成");
                    }
                    break;
                }
                case 4:{//看
                    System.out.println("-------------------------");
                    System.out.println("------------查看信息-------------");
                    System.out.println("输入你要查看的学号");
                    Scanner input=new Scanner(System.in);
                    String id=input.nextLine();
                    int flag=-1;
                    for(int i=0;i<ss.size();i++){
                        student s = ss.get(i);
                        if(s.getId().equals(id)){
                            flag=i;
                        }
                    }
                    if(flag==-1){
                        System.out.println("4查无此人");
                    }else {
                        student s= ss.get(flag);
                        System.out.println(s.toString());
                    }
                    break;
                }
                case 5:{
                    System.out.println("-------------------------");
                    System.out.println("------------退出系统-------------");
                    break tmp;
                }
            }
        }
        }
    }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值