Java實現簡單學生信息管理系統

最近在學習Java,所以寫瞭個學生信息管理系統,話不多說,上代碼。

Student.java:

package com.mumu;

public class Student {  //定義學生類
    private String name;
    private String age;
    private String id;
    private String room_num;
    private int math;
    private int english;
    private int physic;

    public Student() {//無參構造方法
    }

    public Student(String name, String age, String id, String room_num, int math, int english, int physic) {
        this.name = name;
        this.age = age;
        this.id = id;
        this.room_num = room_num;
        this.math = math;
        this.english = english;
        this.physic = physic;
    }

//Alt+ INSERT鍵,可自動生成構造方法
    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 getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getRoom_num() {
        return room_num;
    }

    public void setRoom_num(String room_num) {
        this.room_num = room_num;
    }

    public int getMath() {
        return math;
    }

    public int getEnglish() {
        return english;
    }

    public int getPhysic() {
        return physic;
    }

    public void setMath(int math) {
        this.math = math;
    }

    public void setEnglish(int english) {
        this.english = english;
    }

    public void setPhysic(int physic) {
        this.physic = physic;
    }
}

StudentManager .java:

package com.mumu;

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

public class StudentManager {
    public static void main(String[] args) {

    ArrayList<Student> array=new ArrayList<>();
    menu(array);
    }
    public static void menu(ArrayList<Student> array)//菜單
    {
        while(true)
        {
            System.out.println("^^^^^^^^welcom to my System^^^^^^^^");
            System.out.println("please input your choice");
            System.out.println("1.add students' information");
            System.out.println("2.remove students' information");
            System.out.println("3.revise students' information");
            System.out.println("4.look over students' information");
            System.out.println("5.find  students' information");
            System.out.println("6.quit the system");
            Scanner sc=new Scanner(System.in);
            String choice =sc.nextLine();
            switch(choice)
            {
                case "1":
                    adding(array);
                    break;
                case "2":
                    removing(array);
                    break;
                case "3":
                    revising(array);
                    break;
                case "4":
                    look_over(array);
                    break;
                case "5":
                    serching(array);
                case "6":
                    quiting();
                    break;
                default:
                    System.out.println("error!");
                    System.exit(0);
            }
        }

    }

    public static void adding(ArrayList<Student> array)//添加學生信息
    {//錄入的學生數據錄入給成員變量
        System.out.println("please input student's id");
        Scanner sc=new Scanner(System.in);
        String stu_num=sc.nextLine();
        if(is_used(array,stu_num)==false)
        {
            System.out.println("please input student's name");
            String stu_name=sc.nextLine();
            System.out.println("please input student's age");
            String stu_age=sc.nextLine();
            System.out.println("please input student's room number");
            String stu_addr=sc.nextLine();
            System.out.println("do you want to add student's grade?yes/no");
            //創建學生對象
            Student st=new Student();
            st.setAge(stu_age);
            st.setId(stu_num);
            st.setName(stu_name);
            st.setRoom_num(stu_addr);
            //添加學生成績
            String cho=sc.nextLine();
            if(cho=="yes")
            {
                System.out.println("please input student's math grade");
                int stu_math=sc.nextInt();
                System.out.println("please input student's english grade");
                int stu_english= sc.nextInt();
                System.out.println("please input student's physic grade");
                int stu_physic= sc.nextInt();
                st.setMath(stu_math);
                st.setEnglish(stu_english);
                st.setPhysic(stu_physic);
            }
            //將學生對象添加到集合中
            array.add(st);
            System.out.println("add successfully");
        }
        else
        {
            System.out.println("you are already input information of this student");
        }

    }
    public static void removing(ArrayList<Student> array)//刪除學生信息
    {
    Scanner sc=new Scanner(System.in);
        System.out.println("please input student's number");
        String stu_num=sc.nextLine();
        for(int i=0;i<array.size();i++)
        {
            Student st=array.get(i);
            if(st.getId().equals(stu_num))
            {
                array.remove(i);
                break;
            }
            else
            {
                System.out.println("there is no information of that student");
            }
        }
        System.out.println("remove successfully");
    }
    public static void revising(ArrayList<Student> array)//修改學生信息
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("please input stubent's id");
        String stu_num=sc.nextLine();
        System.out.println("please input student's new name");
        String stu_name=sc.nextLine();
        System.out.println("please input student's new  id");
        String stu_id=sc.nextLine();
        System.out.println("please input student's new age");
        String stu_age=sc.nextLine();
        System.out.println("please input student's new room_number");
        String stu_add=sc.nextLine();
        System.out.println("do you want to revise student's grade?yes/no");
        //創建學生對象
        Student st1=new Student();
        st1.setRoom_num(stu_add);
        st1.setName(stu_name);
        st1.setId(stu_id);
        st1.setAge(stu_age);
        String cho= sc.nextLine();
        if(cho=="yes")
        {
            System.out.println("please input student's new math grade");
            int stu_math=sc.nextInt();
            System.out.println("please input student's new english grade");
            int stu_english=sc.nextInt();
            System.out.println("please input student's new physic grade");
            int stu_physic=sc.nextInt();
            st1.setEnglish(stu_english);
            st1.setMath(stu_math);
            st1.setPhysic(stu_physic);
        }
        for(int i=0;i< array.size();i++)
        {
            Student st2=array.get(i);
            if(st2.getId().equals(stu_num))//判斷輸入的學號是否在array裡面
            {
                array.set(i,st1);
                break;
            }
            else
            {
                System.out.println("there is no information of that student");
            }
        }
        System.out.println("revise successfully");
    }
    public static void look_over(ArrayList<Student> array)//查看所有學生信息
    {
        if(array.size()==0)//先判斷集合是否為空
        {
            System.out.println("there is no information,please input information firstly");
        }
        else
        {
            System.out.println("number\tname\tage\troom_number\tmath_grade\tenglish_grade\tphysic_grade");
            for(int i=0;i<array.size();i++)
            {
                Student st=array.get(i);
                System.out.println(st.getId()+"\t"+st.getName()+"\t"+st.getAge()+"\t"+st.getRoom_num()+"\t"
                        +st.getMath()+"\t"+st.getEnglish()+"\t"+st.getPhysic());
            }

        }

    }
    public static void quiting() //退出系統
    {
        System.exit(0);
    }

    public static boolean is_used(ArrayList<Student> array,String sid)//判斷學號是否重復
    {
        boolean temp=false;
        for(int i=0;i< array.size();i++)
        {
            Student st=array.get(i);
            if(st.getId().equals(sid))
            {
                temp=true;
                break;
            }
        }
        return temp;
    }
    public static void serching(ArrayList<Student> array)//通過學號查找
  {
      System.out.println("please input id of the student you want to find");
      Scanner sc=new Scanner(System.in);
      String stu_num=sc.nextLine();
      for(int i=0;i< array.size();i++)
      {
          Student st= array.get(i);
          if(st.getId().equals(stu_num))
          {
              System.out.println(st.getId()+"\t"+st.getName()+"\t"+st.getAge()+"\t"+st.getRoom_num()+"\t"
                      +st.getMath()+"\t"+st.getEnglish()+"\t"+st.getPhysic());
          }
          else
          {
              System.out.println("there is no information of that student");
          }
      }
  }
}

代碼是用IDEA寫的,因為是初學者,功能相對簡單,如有問題歡迎指正哦。

更多學習資料請關註專題《管理系統開發》。

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

推薦閱讀: