天天看點

Java學生管理系統項目

Java學生管理系統項目

主界面展示圖:

Java學生管理系統項目

首先先定義一個學生類;

public class Student {
	    private String sid;//學号
	    private String name;//姓名
	    private String age;//年齡
	    private String address;//居住地
	
	    public Student() {
	    }
	
	    public Student(String sid, String name, String age, String address) {
	        this.sid = sid;
	        this.name = name;
	        this.age = age;
	        this.address = address;
	    }
	
	    public String getSid() {
	        return sid;
	    }
	
	    public void setSid(String sid) {
	        this.sid = sid;
	    }
	
	    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;
	    }
	}
           

主程式:

import java.util.ArrayList;
import java.util.Scanner;

public class StudentManager {
    //主界面系統
    public static void main(String[] args) {
        ArrayList<Student> array = 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 line = sc.nextLine();
            switch (line) {
                case "1":
//                    System.out.println("修改學生");
                    addStudent(array);
                    break;
                case "2":
//                    System.out.println("删除學生");
                    deleteStudent(array);
                    break;
                case "3":
//                    System.out.println("修改學生");
                    updateStudent(array);
                    break;
                case "4":
//                    System.out.println("檢視所有學生");
                    findAllStudent(array);
                    break;
                case "5":
                    System.out.println("歡迎使用!");
                    System.exit(0);//關閉虛拟機
            }
        }
    }

    //添加學生系統
    public static void addStudent(ArrayList<Student> array) {
        Scanner sc = new Scanner(System.in);
        String sid;
        //學号重複報錯機制
        while (true) {
            System.out.println("請輸入學生的學号:");
            sid = sc.nextLine();
            boolean flag = isUsed(array, sid);
            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(sid, name, age, address);//建立學生對象
        array.add(s);//将學生對象添加到集合中
        System.out.println("添加成功!");
    }

    //學号重複機制
    public static boolean isUsed(ArrayList<Student> array, String sid) {
        boolean flag = false;
        for (int i = 0; i < array.size(); i++) {
            Student s1 = array.get(i);
            if (s1.getSid().equals(sid)) {//如果你輸入的學号跟之前輸入的學号重複直接提示報錯
                flag = true;//如果flag變量被指派為true,就說明學号已經被使用
            }
        }
        return flag;
    }

    //删除學生系統
    public static void deleteStudent(ArrayList<Student> array) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入你要删除的學生的學号:");
        String sid = sc.nextLine();
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            if (s.getSid().equals(sid)) {//對比學生的學号成員變量與輸入的學号是否相同
                array.remove(i);
                System.out.println(s.getName() + "同學已被删除成功!");
                return;
            }
        }
        System.out.println("沒有找到你要删除的學生!!!");//輸錯學号找不到學生機制
    }

    //修改學生
    public static void updateStudent(ArrayList<Student> array) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入你要修改的學生的學号:");
        String sid = sc.nextLine();
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            if (s.getSid().equals(sid)) {
                System.out.println("請輸入學生的新姓名:");
                String name = sc.nextLine();
                System.out.println("請輸入學生的新年齡:");
                String age = sc.nextLine();
                System.out.println("請輸入學生的新居住地:");
                String address = sc.nextLine();
                Student a = new Student();
                a.setSid(sid);
                a.setName(name);
                a.setAge(age);
                a.setAddress(address);
                array.set(i, a);//将新的學生資訊交給集合
                System.out.println("修改學生成功!");
                return;
            }
        }
        System.out.println("未找到要修改的學生!");//找不到要修改的學生機制
    }

    //檢視所有學生
    public static void findAllStudent(ArrayList<Student> array) {
        if (array.size() == 0) {//無學生資訊機制
            System.out.println("沒有學生的資訊,請先添加學生!");
            return;
        }
        System.out.println("學号" + "   " + "姓名" + "    " + "年齡" + "   " + "居住地");
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            System.out.println(s.getSid() + "   \t" + s.getName() + "   \t" + s.getAge() + "歲" + "    \t" + s.getAddress());
        }
    }
	}