用ArrayList實現簡單學生管理系統
阿新 • • 發佈:2018-12-17
package ArrayTest; /* * 用arrayList<E>去實現學生管理系統 */ import java.util.ArrayList; import java.util.Scanner; public class StudentSystemList { //建立arrayList<E>物件,存放學生列表 static ArrayList<String> arrList = new ArrayList<>(); //建立鍵盤錄入物件 static Scanner sc = new Scanner(System.in); public static void main(String[] args) { //建立並呼叫選擇專案的方法 select(); } //選擇專案的方法 /* * 兩個明確:1、返回值型別:void * 2.引數列表:無 */ public static void select() { System.out.println("歡迎進入學生管理系統:"); //加入迴圈 while(true) { System.out.println("\t" +" 請根據下面的選項選擇需要的專案:"); System.out.println("1. 新增學生 2.刪除學生 3.修改學生 4.學生列表 5.查詢學生 6.退出系統"); System.out.println("請輸入選項:"); //判斷輸入的是哪個選項 int num = sc.nextInt(); if(num==1) { //呼叫新增學生的方法 addStudent(); }else if(num==2) { //呼叫刪除學生的方法 delStudent(); }else if(num==3) { updateStudent(); //呼叫修改學生的方法 }else if(num==4) { //呼叫列印集合的方法 bianli(); }else if(num==5) { selStudent(); //操作集合,按內容查詢學生 }else if(num==6) { System.out.println("歡迎下次使用"); break; }else { System.out.println("輸入有誤"); } } } /* * 查詢學生 */ public static void selStudent() { System.out.println("請輸入學生姓名:"); String name = sc.next(); //判斷是否存在該學生 if(arrList.indexOf(name)==-1) { System.out.println("沒有該學生"); }else { //考慮不止一個該學生,則迴圈 System.out.println("["); for(int i=0;i<arrList.size();i++) { if(arrList.get(i)==name) { System.out.print(arrList.get(i)+" "); } } System.out.println("]"); } } /* * 修改學生 * 明確:雙無 */ public static void updateStudent() { System.out.println("請輸入要修改的學生姓名:"); String name = sc.next(); //先判斷是否存在 if(arrList.indexOf(name)==-1) { System.out.println("沒有該學生"); }else { //考慮不止一個該學生,則迴圈 while(true) { if(arrList.indexOf(name)==-1) { //等於-1則修改完成 break; }else { //如果有獲取該下標 int x = arrList.indexOf(name); //輸入修改後的姓名 System.out.println("請輸入修改後的姓名:"); String name001 = sc.next(); //將對應下標的元素修改 arrList.set(x, name001); } } System.out.println("修改成功"); } } /* * 刪除學生 * 明確:1、雙無 */ public static void delStudent() { System.out.println("請輸入刪除學生的姓名:"); String name = sc.next(); //先判斷是否有該學生 if(arrList.indexOf(name)==-1) { System.out.println("沒有該學生"); }else { //判斷集合中是否有該學生,遍歷,迴圈判斷 while(true) { if(arrList.indexOf(name)==-1) { //等於-1則刪完了 break; }else { //如果有找到該學生對應的下標並刪除 int x = arrList.indexOf(name); arrList.remove(x); } } System.out.println("刪除成功"); } } /* * 列印學生:明確:雙無 */ public static void bianli() { if(arrList.size()==0) { System.out.println("沒有學生"); }else { System.out.print("["); for(int i=0;i<arrList.size();i++) { if(i==arrList.size()-1) { System.out.print(arrList.get(i)); }else { System.out.print(arrList.get(i)+", "); } } System.out.println("]"); } } //新增學生的方法 /* * 兩個明確:1.返回值型別: void * 2.引數列表:無 */ public static void addStudent() { System.out.println("請輸入學生姓名:"); String name = sc.next(); //將輸入的學生姓名放入集合中 arrList.add(name); System.out.println("新增成功"); } }