Java版學生管理系統

本文實例為大傢分享瞭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("學號\t\t姓名\t\t年齡\t\t居住地址");
        //將集合中的數據取出按照對應格式顯示所有學生信息,年齡補充顯示“歲”
        for(int i = 0;i < array.size(); i++){
            Student s = array.get(i);
            System.out.println(s.getSid()+"\t\t"+s.getName()+"\t\t"+s.getAge()+"歲\t\t"+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("系統正在退出中......\n\n感謝對此系統的使用,歡迎下次光臨!");
                            //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;
            }
        }
    }
}

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: