學生信息管理系統(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