首頁 > 軟體

Java版學生管理系統

2022-06-09 22:00:04

本文範例為大家分享了Java版學生管理系統的具體程式碼,供大家參考,具體內容如下

學生類

//學生類
public class Student {
    //學號
    private int sid;
    //姓名
    private String name;
    //年齡
    private int age;
    //地址
    private String address;
    //建立構造方法
    public Student(){
 
    }
    public Student(int sid,String name,int age,String address){
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
    }
    //獲取學生id
    public int getSid(){
        return sid;
    }
    //給學生id賦值
    public void setSid(int sid){
        this.sid = sid;
    }
    //獲取學生姓名
    public String getName(){
        return name;
    }
    //給學生姓名賦值
    public void setName(String name){
        this.name = name;
    }
    //獲取學生年齡
    public int getAge(){
        return age;
    }
    //給學生年齡賦值
    public void setAge(int age){
        this.age = age;
    }
    //獲取學生地址
    public String getAddress(){
        return address;
    }
    //給學生地址賦值
    public void setAddress(String address){
        this.address = address;
    }
}

判斷學號是否重複

import java.util.ArrayList;
 
//檢查學號存在問題
public class IsUsed {
    //判斷學號是否存在,存在返回true,否則返回false
    public static boolean isUsed(ArrayList<Student> array, int sid){
        boolean flag = false;
        for(int i = 0;i < array.size(); i++){
            Student s = array.get(i);
            //新增的學生的學號與集合中有相同的則返回true
            if(s.getSid() == sid){
                flag = true;
                break;
            }
        }
        return flag;
    }
}

新增學生

import java.util.*;
import java.util.Scanner;
 
//新增學生資訊類
public class AddStudent {
    //新增學生資訊的方法
    public static void addStudentsWay(ArrayList<Student> array){
        //建立掃描器
        Scanner sc = new Scanner(System.in);
 
        //為了讓sid在while迴圈外面被存取到,則將它定義在迴圈之外
        int sid;
        //在輸入學號前判斷此學號是否已存在,如果已存在則重新輸入
        System.out.println("請輸入學生學號:");
 
        sigin:while(true){
            sid = sc.nextInt();
 
            //如果學號重複則重新輸入
            boolean flag = IsUsed.isUsed(array,sid);
 
            //學號無重複執行新增學生功能
            if(!flag){
                System.out.println("請輸入學生姓名:");
                String name = sc.next();
                System.out.println("請輸入學生年齡:");
                int age = sc.nextInt();
                System.out.println("請輸入學生居住地:");
                String address = sc.next();
 
                //建立學生物件,把輸入的資料賦值給學生物件
                Student s = new Student();
                s.setSid(sid);
                s.setName(name);
                s.setAge(age);
                s.setAddress(address);
 
                //將學生物件新增到集合中
                array.add(s);
 
                //給出新增成功提示
                System.out.println("新增學生成功!n");
                break;
            }else{
                System.out.println("此學號已存在!無法新增學生!");
                System.out.println("重新新增請輸入1,退出該功能請輸入0:");
                while(true) {
                    int n = sc.nextInt();
                    if (n == 1) {
                        System.out.println("請輸入學生學號:");
                        break;
                    }
                    else if (n == 0) {
                        break sigin;
                    }
                    else{
                        System.out.println("對不起輸入有誤!輸入1重新新增,輸入0退出該功能:");
                    }
                }
            }
        }
    }
}

修改學生資訊

import java.util.ArrayList;
import java.util.Scanner;
 
//修改學生資訊
public class UpdateStudent {
    public static void updateStudentWay(ArrayList<Student> array){
        //建立掃描器
        Scanner sc = new Scanner(System.in);
 
        int sid;
        System.out.println("請輸入要修改的學生學號:");
 
        sigin:while(true){
            sid = sc.nextInt();
 
            //判斷學號是否存在-
            boolean flag = IsUsed.isUsed(array,sid);
 
            //學號存在執行修改操作
            if(flag){
                //鍵盤輸入要修改的學生的資訊
                System.out.println("請輸入學生的新姓名:");
                String name = sc.next();
                System.out.println("請輸入學生的新年齡:");
                int age = sc.nextInt();
                System.out.println("請輸入學生的新居住地:");
                String address = sc.next();
 
                //建立學生物件,將輸入的值存入進去
                Student s =new Student();
                s.setSid(sid);
                s.setName(name);
                s.setAge(age);
                s.setAddress(address);
 
                //遍歷集合修改對應的學生資訊
                for(int i = 0;i < array.size(); i++){
                    Student student = array.get(i);
                    if(student.getSid() == sid){
                        array.set(i,s);//賦值
                        break;
                    }
                }
                System.out.println("修改學生資訊成功!n");
                break;
            }else{
                System.out.println("該學生不存在,修改學生資訊失敗!");
                System.out.println("重新修改請輸入1,退出該功能請輸入0:");
                while(true) {
                    int n = sc.nextInt();
                    if (n == 1) {
                        System.out.println("請輸入修改學生的學號:");
                        break;
                    } else if (n == 0) {
                        break sigin;
                    } else {
                        System.out.println("對不起輸入有誤!輸入1重新修改,輸入0退出該功能:");
                    }
                }
            }
        }
    }
}

刪除學生

import java.util.ArrayList;
import java.util.Scanner;
 
//刪除學生資訊
public class DeleteStudent {
    public static void deleteStudentWay(ArrayList<Student> array) {
        //鍵盤輸入要刪除的學生學號,顯示提示資訊
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入要刪除學生的學號:");
 
        sigin:while (true) {
            int sid = sc.nextInt();
            //遍歷集合對應學生物件從集合中刪除
            //在刪除/修改學生操作前,對學號進行判斷是否存在
            //如果存在執行刪除/修改操作
            //否則顯示提示資訊
            int index = -1;
            for (int i = 0; i < array.size(); i++) {
                Student s = array.get(i);
                if (sid == s.getSid()) {
                    //將要刪除的學生下標儲存
                    index = i;
                    break;
                }
            }
            if (index == -1) {
                System.out.println("該學生不存在,刪除學生失敗!");
                System.out.println("重新刪除請輸入1,退出該功能請輸入0:");
                while(true) {
                    int n = sc.nextInt();
                    if (n == 1) {
                        System.out.println("請輸入刪除學生的學號:");
                        break;
                    }
                    else if (n == 0) {
                        break sigin;
                    }
                    else{
                        System.out.println("對不起輸入有誤!輸入1重新刪除,輸入0退出該功能:");
                    }
                }
            } else {
                array.remove(index);
                System.out.println("刪除學生成功!n");
                break;
            }
        }
    }
}

檢視所有學生資訊

import java.util.ArrayList;
 
//檢視所有學生的資訊
public class SeeStudent {
    public static void findAllStudentWay(ArrayList<Student> array){
        //判斷集合中有無資料,如果沒有顯示提示資訊
        if(array.size() == 0){
            System.out.println("無資訊可查,請先新增資訊後再查詢!");
            return;
        }
        System.out.println("學號tt姓名tt年齡tt居住地址");
        //將集合中的資料取出按照對應格式顯示所有學生資訊,年齡補充顯示「歲」
        for(int i = 0;i < array.size(); i++){
            Student s = array.get(i);
            System.out.println(s.getSid()+"tt"+s.getName()+"tt"+s.getAge()+"歲tt"+s.getAddress());
        }
    }
}

學生管理系統主介面

import java.util.ArrayList;
import java.util.Scanner;
 
//主方法實現學生管理系統
@SuppressWarnings("all")
public class textMain {
    /**
     *  1.用輸出語句完成主介面的編寫
     *  2.用Scanner實現鍵盤錄入資料
     *  3.用switch選擇語句完成選擇操作
     *  4.用while迴圈語句完成操作的選擇
     *  5.用迴圈完成再次回到主介面
     */
    public static void main(String[] args){
        //建立集合物件,用於儲存學生資料
        ArrayList<Student> array = new ArrayList<>();
 
        //用迴圈完成再次回到主介面
        System.out.println("--------歡迎進入學生管理系統--------");
        while(true){
            //輸出語句完成主介面的編寫
            System.out.println("1 新增學生");
            System.out.println("2 刪除學生");
            System.out.println("3 修改學生");
            System.out.println("4 檢視所有學生資訊");
            System.out.println("5 退出系統");
 
            System.out.println("n請輸入你的選擇:");
            //用Scanner實現鍵盤錄入資料
            Scanner sc = new Scanner(System.in);
            int line = sc.nextInt();
 
            //用switch語句完成選擇操作
            index:switch(line){
                //新增學生
                case 1:
                    //判斷輸入的指令是否有誤
                    System.out.println("n確定進入新增學生功能嗎(1/0):");
                    while(true) {
                        int number = sc.nextInt();
                        if(number == 1){
                            break;
                        }
                        if(number == 0){
                            break index;//跳出指定的迴圈語句
                        }
                        if (number != 1 || number != 0) {
                            System.out.println("對不起,輸入有誤,請輸入1進入該功能,輸入0退出此功能!");
                        }
                    }
 
                    //輸入無誤則執行以下程式
                    System.out.println("歡迎進入新增學生功能->->->");
                    AddStudent.addStudentsWay(array);
                    System.out.println("請繼續你的選擇->->->");
                    break;
 
                //刪除學生
                case 2:
                    //判斷輸入的指令是否有誤
                    System.out.println("n確定進入刪除學生功能嗎(1/0):");
                    while(true) {
                        int number = sc.nextInt();
                        if(number == 1){
                            break;
                        }
                        if(number == 0){
                            break index;//跳出指定的迴圈語句
                        }
                        if (number != 1 || number != 0) {
                            System.out.println("對不起,輸入有誤,請輸入1進入該功能,輸入0退出此功能!");
                        }
                    }
 
                    //輸入無誤則執行以下程式碼
                    System.out.println("歡迎進入刪除學生功能->->->");
                    DeleteStudent.deleteStudentWay(array);
                    System.out.println("請繼續你的選擇->->->");
                    break;
 
                //修改學生
                case 3:
                    //判斷輸入的指令是否有誤
                    System.out.println("n確定進入修改學生功能嗎(1/0):");
                    while(true) {
                        int number = sc.nextInt();
                        if(number == 1){
                            break;
                        }
                        if(number == 0){
                            break index;//跳出指定的迴圈語句
                        }
                        if (number != 1 || number != 0) {
                            System.out.println("對不起,輸入有誤,請輸入1進入該功能,輸入0退出此功能!");
                        }
                    }
 
                    //輸入無誤則執行以下程式碼
                    System.out.println("歡迎進入修改學生功能->->->");
                    UpdateStudent.updateStudentWay(array);
                    System.out.println("請繼續你的選擇->->->");
                    break;
 
                //檢視所有學生資訊
                case 4:
                    //判斷輸入的指令是否有誤
                    System.out.println("n確定進入檢視所有學生資訊功能嗎(1/0):");
                    while(true) {
                        int number = sc.nextInt();
                        if(number == 1){
                            break;
                        }
                        if(number == 0){
                            break index;//跳出指定的迴圈語句
                        }
                        if (number != 1 || number != 0) {
                            System.out.println("對不起,輸入有誤,請輸入1進入該功能,輸入0退出此功能!");
                        }
                    }
 
                    //輸入無誤則執行以下程式碼
                    System.out.println("----------歡迎來到檢視所有學生資訊功能----------");
                    SeeStudent.findAllStudentWay(array);
                    System.out.println("請繼續你的選擇->->->");
                    break;
 
                //退出系統
                case 5:
                    //判斷輸入的指令是否有誤
                    System.out.println("正在進行系統退出->->->n");
                    System.out.println("確定要退出嗎(1/0)");
                    while(true) {
                        int number = sc.nextInt();
                        if(number == 1){
                            //給此係統評分
                            System.out.println("感謝對此係統的使用,請給出您寶貴的評價(按enter鍵確認):");
                            int score = sc.nextInt();
                            System.out.println("已收到您給出寶貴的"+score+"分啦!!!n");
                            System.out.println("系統正在退出中......nn感謝對此係統的使用,歡迎下次光臨!");
                            //return; //輸入1退出系統
                            //使JVM虛擬機器器停止執行
                            System.exit(0);
                        }
                        if(number == 0){
                            break index;//跳出指定的迴圈語句
                        }
                        if (number != 1 || number != 0) {
                            System.out.println("對不起,輸入有誤,請輸入1進入該功能,輸入0退出此功能!");
                        }
                    }
                //輸出有誤提示重新輸入
                default:
                    System.out.println("對不起,你輸入的指令有誤,請重新輸入:n");
                    break;
            }
        }
    }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com