天天看點

Java小項目-學生管理系統

學生管理系統

第一次寫,請多多指教

1,定義一個學生類

Student

package e;

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;

}

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;

}

}

2,建立學生管理系統主類

StudentManagerTest
           

package e;

import java.util.ArrayList;

import java.util.Scanner;

public class StudentManagerTest {

public static void main(String[] args) {

//建立集合對象,用于儲存學生資料

ArrayListarray=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);
  String choiceString = sc.nextLine();
  //用switch語句實作選擇
  switch(choiceString) {
  case"1":
//檢視所有學生
   findAllStudent(array);
   break;
  case"2":
   //添加學生
   addStudent(array);
   break;
  case"3":
   //删除學生
   deieteStudent(array);
   break;
  case"4":
   //修改學生
   updateStudent(array);
   break;
  case"5":
   //退出
   //System.out.println("謝謝你的使用");
   //break;
   default:
    System.out.println("謝謝你的使用");
    System.exit(0);//JVM退出
    break;
  } 
 }
           

}

//修改學生

public static void updateStudent(ArrayListarray) {

//修改學生思路:鍵盤錄入一個學号,到集合中去查找,看是否有學生使用的是該學号,如果有就修改該學生

//鍵盤錄入對象

Scanner sc = new Scanner(System.in);

System.out.println(“請輸入你要修改的學生的學号:”);

String id = sc.nextLine();

//定義一個索引

int index = -1;

//周遊集合

for(int x=0; x<array.size(); x++) {

//擷取每一個學生對象

Student s = array.get(x);

//拿學生對象的學号和鍵盤錄入的學号進行比較

if(s.getId().equals(id)) {

index = x;

break;

}

}

if(index == -1) {

System.out.println(“不好意思,你要修改的學号對應的學生資訊不存在,請回去重新你的選擇”);

}else {

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);

//修改集合中的對象

array.set(index, s);

//給出提示

System.out.println(“修改學生成功”);

}

}

//删除學生

public static void deieteStudent(ArrayListarray) {

//删除學生思路:鍵盤錄入一個學号,到集合中去查找,看是否有學生使用的是該學号,如果有就删除該學生

//建立鍵盤錄入對象

Scanner sc = new Scanner(System.in);

System.out.println(“請輸入你要删除學生的學:号”);

String id = sc.nextLine();

//我們必須給出學号不存在的時候的提示

//定義一個索引

int index = -1;

//周遊集合

for(int x=0; x<array.size(); x++) {

//擷取到每一個學生的對象·

Student s = array.get(x);

//那這個學生對象的學号和鍵盤錄入的學号進行比較

if(s.getId().equals(id)) {

index = x;

break;

}

}

if(index == -1) {

System.out.println(“不好意思,你要删除的學号對應的資訊不存在,清回去重新你的選擇”);

}else {

array.remove(index);

System.out.println(“删除學生成功”);

}

}

//添加學生

public static void addStudent(ArrayListarray) {

//鍵盤錄入對象
   Scanner sc = new Scanner(System.in);
   //為了讓id能夠被通路到,我們就把id定義在了循環的外邊
String id;
   //為了代碼能回到這裡用循環
//while(true) {
//}

   System.out.println("請輸入學生學号:");
    
  
   //String id = sc.nextLine();
   id = sc.nextLine();
   
    //判斷學号有沒有被占用
    //定義标記
    boolean flag = false;
    //周遊集合,得到每一個學生
    for(int x=0; x<array.size();x++) {
     Student s = array.get(x);
     //擷取該學生的學号,和鍵盤錄入的學号進行比較
     if(s.getId().equals(id)) {
      flag= true;//說明學号被占用;1
      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 adderess = sc.nextLine();
   //建立學生對象
   Student s = new Student();
   s.setId(id);
   s.setName(name);
   s.setAge(age);
   s.setAddress(adderess);
   
   //把學生對象作為元素添加到集合
   array.add(s);
   //給出提示
   System.out.println("添加學生成功");
  }





  
  /*
   * public static void addStudent(ArrayList<Student>array) {
   
  //鍵盤錄入對象
   Scanner sc = new Scanner(System.in);
   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 adderess = sc.nextLine();
   //建立學生對象
   Student s = new Student();
   s.setId(id);
   s.setName(name);
   s.setAge(age);
   s.setAddress(adderess);
   
   //把學生對象作為元素添加到集合
   array.add(s);
   //給出提示
   System.out.println("添加學生成功");
  }
           

*/

//檢視所有學生
 public static void findAllStudent(ArrayList<Student>array) {
  //首先判斷集合中是否有資料,如果沒有資料,就給出提示,并讓該方法不繼續往下執行
 if(array.size()==0) {
  System.out.println("不好意思,目前沒有學生資訊可供查詢,請回去重新選擇你的操作");
  return;
  
 }
 //\t 其實就是一個tap建的位置
 System.out.println("學号\t姓名\t年齡\t居住地\t");
 for(int x=0; x<array.size(); x++) {
  Student s = array.get(x);
  System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());
  
 }
 }
           

}

下面是運作截圖

Java小項目-學生管理系統
Java小項目-學生管理系統

如有不足,請大家多多指正