學生管理系統demo

1.步驟:jvm

A:定義一個學生類:this

public class Student {
    //學生類屬性
    private String id;
    private String name;
    private String age;
    private String address;
    
    //學生類方法
    public Student() {
        
    }

    public Student(String id, String name, String age, String address) {
    
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }
    //getXxx(),setXxx()方法
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
}
spa

 B:學生類的test:對象

public class StudentTest {

    public static void main(String[] args) {
        //建立一個學生集合用來管理學生信息
        ArrayList<Student> arrst=new ArrayList<Student>();
        
        
        //學生管理系統主界面
        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);
        String number = sc.nextLine();
        //經過switch循環來實現選擇的具體操做
        switch(number) {
        case "1":
        findStudent(arrst) ;
        break;
        
        case "2":
            addStudent(arrst);
            break;
            
        case "3":
            remoteStudent(arrst);
            break;
            
        case "4":
            updateStudent(arrst);
           break;
        
        case "5":
            //退出
    
            
            default:
                System.out.println("退出成功,謝謝使用!");
                //jvm非異常退出
                System.exit(0);
                break;
        }
        }
    }

    //查看學生信息方法
    public static void findStudent(ArrayList<Student> arrst) {
        if(arrst.size()==0) {
            System.out.println("對不起,沒有學生信息能夠訪問");
            return;
        }
        System.out.println("學號\t姓名\t年齡\t住址");
        for(int x=0;x<arrst.size();x++) {
            Student s=arrst.get(x);
            System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());
        }    
    }
    
    //添加學生信息
    public static void addStudent(ArrayList<Student> arrst) {
        //建立鍵盤錄入對象
        Scanner sc=new Scanner(System.in);
        String id;
        while(true) {
        System.out.println("請輸入學生id:");
         id=sc.nextLine();
        //判斷輸入的id是否已存在
        boolean flag=false;//定義一個標記
        for(int x=0;x<arrst.size();x++) {
            Student s=arrst.get(x);
            //將輸入的學號與存儲的學號進行驗證
            if(s.getId().equals(id)) {
                //學號被佔用
                flag=true;
                break;
            }
         }
            if(flag) {
                System.out.println("對不起,學號已存在!");
            }else {
                break;
            }
        }
        System.out.println("請輸入學生姓名:");
        String name=sc.nextLine();
        System.out.println("請輸入學生年齡:");
        String age=sc.nextLine();
        System.out.println("請輸入學生住址:");
        String address=sc.nextLine();
        //建立一個學生對象,用來接收鍵盤錄入的數據
        Student s=new Student();
        s.setId(id);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
        arrst.add(s);
        System.out.println("添加成功!");
    }
    
    //刪除學生信息
    public static void remoteStudent(ArrayList<Student> arrst) {
        //鍵盤出入要刪除的學號
        Scanner sc=new Scanner(System.in);
        System.out.println("請輸入要刪除的學號:");
        
        String id = sc.nextLine();
        int i=-1;
        //用循環來遍歷集合,找到該學號
        for(int x=0;x<arrst.size();x++) {
            Student s = arrst.get(x);
            if(s.getId().equals(id)) {
                i=x;
                break;
            }
        }
            if(i==-1) {
                System.out.println("找不到該學號,請從新輸入:");
            }else {
                arrst.remove(i);
                System.out.println("刪除成功!");
            }
        }
        
    
    //修改學生信息
public static void updateStudent(ArrayList<Student> arrst) {
            //鍵盤出入要修改的學號
        Scanner sc=new Scanner(System.in);
        System.out.println("請輸入要修改的學號:");
        String id = sc.nextLine();
        //定義一個變量
        int i=-1;
        //遍歷學生集合,找到該學號
        for(int x=0;x<arrst.size();x++) {
            Student s = arrst.get(x);
            if(s.getId().equals(id)) {
                i=x;
                break;
            }
            }
            if(i==-1) {
                System.out.println("找不到該學號,請從新輸入:");
    }else {
        
        //System.out.println("請輸入新的學號");
        //String id=sc.nextLine();
        System.out.println("請輸入新的姓名:");
        String name=sc.nextLine();
        System.out.println("請輸入新的年齡:");
        String age=sc.nextLine();
        System.out.println("請輸入新的住址:");
        String address=sc.nextLine();
        //將輸入的數據賦值給新的學生對象
        Student st=new Student();
        st.setId(id);
        st.setName(name);
        st.setAge(age);
        st.setAddress(address);
        //根據id替換學生集合中的原有數據
        arrst.set(i, st);
        System.out.println("修改爲功!");
    }
        }
    }
rem

相關文章
相關標籤/搜索