学生信息管理系统(JAVA)


学生信息管理系统(JAVA)

一、目的

设计开发一套完整的学生信息管理系统---

(能够对学生的信息进行管理,包括对学生信息的添加,修改,删除,查看以及系统的关闭退出等)

image

二、整体框架与思路

  • 学生类:(将学生的个人信息全部封装起来)

  • main方法:

    1. 实现界面的初始化

    2. 能够从键盘录入数据

    3. 选择相应的模块能够调用相应的方法

    4. 程序能够终止

  • 添加学生的方法

  • 查看学生的方法

  • 删除学生的方法

  • 程序退出

三、本系统重难点

  1. 添加、删除、查看、修改四个方法的书写

四、程序完整代码

package Pattern;

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

public class T15 {
    public static void main(String[] args) {
        //定义一个ArrayList用来存放学生信息
        ArrayList<Student> arrayList = 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("请输入你的选择:");
			//从键盘读取数字,得到用户想要进行的操作
            Scanner scanner = new Scanner(System.in);
            int i = scanner.nextInt();
			//通过对数字的判断来进行相应的增删查改
            switch (i) {
                case 1:
                    addStudent(arrayList);
                    break;
                case 2:
                    findStudent(arrayList);
                    break;
                case 3:
                    deleteStudent(arrayList);
                    break;
                case 4:
                    updateStudent(arrayList);
                    break;
                case 5:
                    System.out.println("退出通讯录成功!");
                    System.exit(0);//当选择了5时,直接关闭JVM,整个系统结束
            }
        }
    }

    //增加学生信息
    public static void addStudent(ArrayList<Student> array) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入学生学号:");
        int num = scanner.nextInt();
        System.out.println("请输入学生QQ:");
        int qq = scanner.nextInt();
        System.out.println("请输入学生电话:");
        int phone = scanner.nextInt();
		//因为ArrayList传入的数据需要是对象,所以new出来一个封装好的学生对象
        //对象里面的数据就是从键盘录入的,通过set方法将数据传入
        Student s1 = new Student();
        s1.setNum(num);
        s1.setQq(qq);
        s1.setPhone(phone);
		//把学生对象add进ArrayList
        array.add(s1);

        System.out.println("添加成功!");
    }

    //通过遍历ArrayList来实现查看功能
    public static void findStudent(ArrayList<Student> array) {
        //需要先判断ArrayList是否为空
        if (array.size() == 0) {
            System.out.println("通讯录为空,请先录入数据");
            return;//为空的话,退出当前方法
        }
        //不为空向下执行,遍历输出
        System.out.println("学号\tQQ\t\t电话");

        for (int i = 0; i < array.size(); i++) {
            //获取array的每一位,然后调用get方法得到数据
            Student s = array.get(i);
            System.out.println(s.getNum() + "\t\t" + s.getQq() + "\t\t" + s.getPhone());
        }
    }
 	//通过输入得到的学号与集合里面对象的num进行比较,如果相同,就新new一个Student
    //来替换原先的对象(这边有一个小瑕疵,如果学号不存在的情况还没有考虑)
    public static void updateStudent(ArrayList<Student> array) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你要修改的同学学号:");
        int snum = scanner.nextInt();

        System.out.println("请输入新学号:");
        int newnum = scanner.nextInt();
        System.out.println("请输入新QQ:");
        int newqq = scanner.nextInt();
        System.out.println("请输入新电话:");
        int newphone = scanner.nextInt();

        Student s = new Student();
        s.setQq(newqq);
        s.setNum(newnum);
        s.setPhone(newphone);

        for (int i = 0; i < array.size(); i++) {
            Student student = array.get(i);
            if (student.getNum() == snum) {
                array.set(i, s);
                break;
            }
        }
        System.out.println("修改成功!");
    }
	//删除学生信息,比对集合中是否存在该学号的数据,若存在则删除
    public static void deleteStudent(ArrayList<Student> array) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入需要删除的同学的学号:");

        int num = scanner.nextInt();

        int index = -1;
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            if (s.getNum() == num){
                index = i;
                break;
            }
        }
        if (index == -1){
            System.out.println("你输入的信息不存在,请重新输入");
        }else {
            array.remove(index);
            System.out.println("删除成功!");
        }
    }
}
class Student {
    private int num;
    private int qq;
    private int phone;

    public Student() {
    }

    public Student(int num, int qq, int phone) {
        this.num = num;
        this.qq = qq;
        this.phone = phone;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public int getQq() {
        return qq;
    }

    public void setQq(int qq) {
        this.qq = qq;
    }

    public int getPhone() {
        return phone;
    }

    public void setPhone(int phone) {
        this.phone = phone;
    }
}

五、系统总结

这个系统的书写还是很经典的,通过这个系统可以让我对ArrayList集合的遍历,以及对象封装之后作为元素存储在集合里,怎么通过get方法获取到对象里面的数据然后进行比对。如果有必要,需要在次把代码全部删除,从头开始重新书写练习一遍。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM