1. 程式人生 > >簡單的學生管理系統

簡單的學生管理系統

學生儲存類

package com.hanmengqi.java11.stusys;

public class Student {

    private String stuNo;

    private String stuName;

    private String gender;

    private int age;

    private int score;

    private String city;

    private String province;

    public String getStuNo() {

        return
stuNo; } public void setStuNo(String stuNo) { this.stuNo = stuNo; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public String getGender() { return gender; } public
void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public
String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } }

針對學生類的操作

package com.hanmengqi.java11.stusys;

public class StuData {

    private static Student stus[] = new Student[20];
    private static int dataIndex = 0;

    /**
     * 增加學生資訊
     * @param stu
     */
    public static void addStu(Student stu) {
        if (dataIndex > stus.length) {
            Student tempIndex[] = new Student[dataIndex];
            for (int i = 0; i < stus.length; i++) {
                tempIndex[i] = stus[i];
            }
            stus = tempIndex;
        }
        stus[dataIndex] = stu;
        dataIndex++;
    }

    /**
     * 修改學生資訊
     * @param stu
     * @return
     */
    public static Student changeStu(Student stu) {
        if(stu == null){
            return null;
        }
        for (int i = 0; i < dataIndex; i++) {
            if (stu.getStuNo().equals(stus[i].getStuNo())) {
                return stu;
            }
        }
        return null;
    }

    /**
     * 刪除學生資訊
     * @param stu
     * @return
     */
    public static void deleteStu(Student stu) {
        boolean isMove = false;
        for (int i = 0; i < dataIndex; i++) {
            if (stu.getStuNo().equals(stus[i].getStuNo())) {
                isMove = true;
            }
            if(isMove){
                stus[i] = stus[i+1];
            }
        }
        if(isMove){
            System.out.println("刪除成功!");
        }
        dataIndex--;
    }

    /**
     * 由學生學號遍歷查詢得到學生資訊,不存在則返回null
     * @param stuNo
     * @return
     */
    public static Student stuNoToStu(String stuNo) {
        for (int i = 0; i < dataIndex; i++) {
            if (stuNo.equals(stus[i].getStuNo())) {
                return stus[i];
            }
        }
        System.out.println("沒有此學生!!");
        return null;
    }
    /**
     * 查詢學生
     * @param stu
     */
    public static void printOne(Student stu){
        System.out.print("姓名:"+stu.getStuName()+" ");
        System.out.print("學號:"+stu.getStuNo()+" ");
        System.out.print("年齡:"+stu.getAge()+" ");
        System.out.print("城市:"+stu.getCity()+" ");
        System.out.print("性別:"+stu.getGender()+" ");
        System.out.print("省份:"+stu.getProvince()+" ");
        System.out.print("成績:"+stu.getScore()+" ");
    }
    /**
     * 列印全體學生資訊
     */
    public static void printAll(){
        for(int i = 1;i<dataIndex;i++){
            StuData.printOne(stus[i]);

            System.out.println();
        }
    }
}

選單列印

package com.hanmengqi.java11.stusys;


public class Manu {

    /**
     * 列印主選單
     */
    public static void printMainMenu() {

        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.退出");
    }

    /**
     * 列印選擇選單
     */
    public static void printChooseMenu() {
        System.out.println("    1.姓名");
        System.out.println("    2.年齡");
        System.out.println("    3.所在城市");
        System.out.println("    4.性別");
        System.out.println("    5.所在省份");
        System.out.println("    6.成績");
    }

    /**
     * 返回選單
     */
    public static void returnMenu() {
        System.out.println("請選擇您接下來要進行是操作:");
        System.out.println("    1.返回主選單");
        System.out.println("    2.退出");

    }
}

系統入口

package com.hanmengqi.java11.stusys;

import java.util.Scanner;

public class Main {
    /*
     * 系統入口
     */
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        System.out.println("歡迎來到xxx學生資訊管理系統");
        Input.password(input);

    }

}   

輸入判斷

package com.hanmengqi.java11.stusys;

import java.util.Scanner;

public class Input {
    /**
     * 輸入密碼
     * @param input
     */
    public static void password(Scanner input) {
        System.out.println("請輸入密碼:");
        String password = input.next();
        while (password.equals("12345678") == false) {
            System.out.println("您輸入的的密碼有誤!!");
            System.out.println("請重新輸入密碼:");
            password = input.next();
        }
        mainMenuJudge(input);
    }
    /**
     * 主選單輸入
     * @param input
     */
    public static void mainMenuJudge(Scanner input){
        Manu.printMainMenu();
        int i = input.nextInt();
        while (true) {
            switch (i) {
            case 1:
                StuData.addStu(Input.addInput(input));
                break;
            case 2:
                StuData.changeStu(Input.changeInput(input));
                break;
            case 3:
                StuData.deleteStu(Input.InputToStu(input));
                break;
            case 4:
                StuData.printOne(Input.InputToStu(input));
                break;
            case 5:
                StuData.printAll();
                break;
            case 6:
                break;
            default:
                System.out.println("您的輸入有誤!");
                System.out.println("請重新輸入:");
                i = input.nextInt();
            }
            if(i==6){
                break;
            }else{
                Manu.returnMenu();
                if(Input.returnJudge(input) == true){
                    i = input.nextInt();
                }else {
                    break;
                }
            }

        }
    }
    /**
     * 新增學生資訊:輸入部分
     * @param input
     */
    public static Student addInput(Scanner input) {
        Student stu = new Student();
        System.out.println("請輸入學生姓名:");
        stu.setStuName(input.next());
        System.out.println("請輸入學生學號:");
        stu.setStuNo(input.next());
        System.out.println("請輸入性別:");
        stu.setGender(input.next());
        System.out.println("請輸入學生年齡:");
        stu.setAge(input.nextInt());
        System.out.println("請輸入學生所在城市:");
        stu.setCity(input.next());
        System.out.println("請輸入學生所在省份:");
        stu.setProvince(input.next());
        System.out.println("請輸入學生成績:");
        stu.setScore(input.nextInt());
        StuData.addStu(stu);
        return stu;
    }

    /**
     * 更改學生資訊:輸入部分
     * @param input
     */
    public static Student changeInput(Scanner input) {
        System.out.println("請輸入你要更改的學生的編號:");
        String str = input.next();
        Student stu = StuData.stuNoToStu(str);
        if(stu == null){
            return null;
        }
        System.out.println("請選擇你想要修改的學生資訊:");
        Manu.printChooseMenu();
        int i = input.nextInt();
        while (true) {
            switch(i){
            case 1:
                System.out.println("請輸入更改後的學生姓名:");
                stu.setStuName(input.next());
                break;
            case 2:
                System.out.println("請輸入更改後的學生年齡:");
                stu.setAge(input.nextInt());
                break;
            case 3:
                System.out.println("請輸入更改後的學生所在城市:");
                stu.setCity(input.next());
                break;
            case 4:
                System.out.println("請輸入更改後的學生性別:");
                stu.setGender(input.next());
                break;
            case 5:
                System.out.println("請輸入更改後的學生所在省份:");
                stu.setProvince(input.next());
                break;
            case 6:
                System.out.println("請輸入更改後的學生成績:");
                stu.setScore(input.nextInt());
            default:
                System.out.println("您的輸入有誤!");
                System.out.println("請重新選擇你想要修改的學生資訊:");
                Manu.printChooseMenu();
                i = input.nextInt();
            }
            break;
        }
        return stu;
    }
    /**
     *刪除學生資訊輸入部分: 輸入學號返回學生
     * @param input
     * @return
     */
    public static Student InputToStu(Scanner input){
        System.out.println("請輸入你要刪除的學生的編號:");
        String str = input.next();
        Student stu = StuData.stuNoToStu(str);
        return stu;
    }

    /**
     * 返回選單判斷
     * @param input
     * @return
     */
    public static boolean returnJudge(Scanner input){
        int i = input.nextInt();
        while (i != 1 && i != 2) {
            System.out.println("您的輸入有誤!");
            System.out.println("請重新輸入:");
            i = input.nextInt();
        }
        if (i == 1) {
            Manu.printMainMenu();
            return true;
        }
        return false;
    }


}