天天看點

5-學生管理系統

需求:利用JAVA實作學生資訊系統管理;要求:

①、實作學生資訊的增删改查以及管理系統的退出

②、學生的學号資訊不允許重複。

③、除了退出操作,其他操作完成後重新進入系統主界面

④、删除操作時,若無資料則直接提示,并進入主界面

/*

     學生類

*/
public class student {
    //成員變量
    //學号
    private String sid;
    //姓名
    private String name;
    //年齡
    private int age;
    //居住地

    //構造方法
    private String address;
    public  student(){

    }
    public student(String sid,String name,int age,String address){
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    //get方法
    public String getSid(){
        return sid;
    }
    public String getName(){
        return name;
    }
    public String getAddress(){
        return this.address;
    }
    public int getAge(){
        return age;
    }


    //set方法
    public void setName(String name){
        this.name = name;
    }
    public void setAge(int age){
        this.age = age;
    }
    public void setSid(String sid){
        this.sid = sid;
    }
    public void setAddress(String address){
        this.address = address;
    }
}


           
import java.util.ArrayList;
import java.util.Scanner;
public class studentManagement {
    public static void main(String[] args) {

        ArrayList<student>array =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 sc = new Scanner(System.in);
            int number = sc.nextInt();//輸入選擇的操作編号
            //根據輸入的編号比對調用對應的方法
            switch (number){
                case 1: addStudent(array);break;
                case 2: removeStudent(array);break;
                case 3: setStudent(array);break;
                case 4: lookStudent(array);break;
                case 5: System.exit(0);
                default:
                    System.out.println("輸入違規");
            }

        }
    }

    //添加學生資訊
    public static void addStudent(ArrayList<student>array){
        student st = new student();
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入學生ID");
        //判斷所輸入的學生ID是否已存在
        String id = sc.nextLine();
        for (int i=0;i<array.size();i++){
            if (array.get(i).getSid().equals(id)){
                System.out.println("輸入的ID已存在,請重新操作");
                return;
            }
        }
        System.out.println("請輸入學生姓名");
        String name = sc.nextLine();
        System.out.println("請輸入學生居住地");
        String address = sc.nextLine();
        System.out.println("請輸入學生年齡");
        int age = sc.nextInt();
        //将輸入的資訊傳給對象的成員變量
        st.setSid(id);
        st.setName(name);
        st.setAge(age);
        st.setAddress(address);
        //将對象存放到集合中
        array.add(st);
        System.out.println("添加成功");
    }

    //删除學生資訊
    public static void removeStudent(ArrayList<student>array){
        //判斷集合中是否有資料,若無資料則退出删除資訊的操作
        if (array.size()==0){
            System.out.println("無資訊,請先添加資訊再删除");
            return;
        }
        //輸入要删除的學生的ID
        System.out.println("請輸入要删除學生的ID");
        Scanner sc = new Scanner(System.in);
        String id = sc.nextLine();
        //循環周遊判斷是否有符合條件的對象,若有則删除該條資訊并退出方法
        for (int i=0;i<array.size();i++){
            if (array.get(i).getSid().equals(id)){
                array.remove(array.get(i));
                System.out.println("删除成功");
                return;
            }
        }
        //若沒有則提示删除失敗,學生ID不存在
        System.out.println("删除失敗,學生ID不存在");

    }

    //修改學生資訊
    public static void setStudent(ArrayList<student>array){
        //輸入要修改資訊的學生的ID
        System.out.println("請輸入要修改學生的ID");
        Scanner sc = new Scanner(System.in);
        String id = sc.nextLine();
        //循環周遊查找符合修改條件的對象,并修改其資料,并退出方法
        for (int i=0;i<array.size();i++){
            if (array.get(i).getSid().equals(id)){
                System.out.println("請輸入學生姓名");
                String name = sc.nextLine();
                System.out.println("請輸入學生居住地");
                String address = sc.nextLine();
                System.out.println("請輸入學生年齡");
                int age = sc.nextInt();
                array.get(i).setName(name);
                array.get(i).setAge(age);
                array.get(i).setAddress(address);
                System.out.println("修改成功");
                return;
            }
        }
        //提示删除失敗,學生ID不存在
        System.out.println("學生id不存在");

    }

    //檢視所有學生資訊
    public static void lookStudent(ArrayList<student>array){
        //若集合中無元素,則提示無資訊,請先添加資訊再查詢
        if (array.size()==0){
            System.out.println("無資訊,請先添加資訊再查詢");
            //也可以添加一個return;來使方法不再往下執行
        }else{
            //當集合中有元素,則循環周遊輸出對應資訊
            System.out.println("學生ID\t\t\t學生姓名\t\t學生年齡\t\t學生居住地");
            for (int i=0;i<array.size();i++){
                String id = array.get(i).getSid();
                String name = array.get(i).getName();
                String address = array.get(i).getAddress();
                int age = array.get(i).getAge();
                System.out.println(id+"\t\t\t\t"+name+"\t\t\t"+age+"歲\t\t"+address);
            }
        }
    }


    }