Java 實現(xiàn)完整功能的學(xué)生管理系統(tǒng)實例
一、前言
我們前面寫了通訊錄管理系統(tǒng),現(xiàn)在我們來寫個學(xué)生管理系統(tǒng),
其實主干代碼都一 不過,在學(xué)生管理系統(tǒng)中我添加和優(yōu)化了許多功能,
如【登錄密碼驗證,異常處理,非空判斷,,防止重復(fù)添加】等。
二、學(xué)生管理系統(tǒng)主要功能
- 增加學(xué)生信息
- 刪除學(xué)生信息
- 修改學(xué)生信息
- 查找學(xué)生信息
- 查看所有學(xué)生信息
- 退出學(xué)生管理系統(tǒng)
主干總覽圖:
我們分成了許多的方法模塊,便于調(diào)用。
在學(xué)生類下
就是普通的構(gòu)造方法和get和set方法,還有一個重寫的toString方法
(Alt+Insert可以快速生成上述的所有)
package 學(xué)生管理系統(tǒng); public class Student { private String name; private String age; private String sex; private String number; private String classroom; public Student(){} public Student(String name, String age, String sex, String classroom,String number) { this.name = name; this.age = age; this.sex = sex; this.classroom = classroom; this.number=number; } 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 getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getClassroom() { return classroom; } public void setClassroom(String classroom) { this.classroom = classroom; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; }
重寫toString方法是為了讓我們設(shè)置好的方式去顯示:
@Override public String toString() { return "名字:"+name+" |性別:"+sex+" |年齡:"+age+" |學(xué)號:"+number+" |班級:"+classroom+"\n"; } }
在學(xué)生總部類下:
main方法:
public static void main(String[] args) { ArrayList<Student> arrayList=new ArrayList<Student>(); password();//密碼驗證 while(true){ menu();//菜單 Scanner sc=new Scanner(System.in); try{ int num=sc.nextInt(); switch(num){ case 1:{ addStudent(arrayList);break; } case 2:{ deleteStudent(arrayList);break; } case 3:{ reviseStudent(arrayList);break; } case 4:{ oneStudent(arrayList);break; } case 5:{ checkStudent(arrayList);break; } case 6:{ System.out.println("退出成功"); System.exit(0); } default:{ System.out.println("輸入錯誤,輸入0-6之間的數(shù)字");break; } }} catch(Exception e){ e.printStackTrace(); System.out.println("你的輸入是非數(shù)字,請輸入0-6的數(shù)字"); } } }//main方法
登錄密碼驗證:
public static void password(){ System.out.println("***歡迎來到學(xué)生管理系統(tǒng)***"); Scanner sc=new Scanner(System.in); System.out.print("請輸入管理員密碼:"); String s="鍵盤敲爛"; int sum=3; while(true){ String ss=sc.nextLine(); if(ss.equals(s)){ System.out.println("驗證成功!");break; }else{sum--; System.out.print("密碼錯誤,你還有"+sum+"次機(jī)會:"); } if(sum==0){ System.out.println("輸入上限,再見!"); System.exit(0); } }}//密碼驗證
打印菜單:
public static void menu(){ System.out.println("-------歡迎來到學(xué)生管理系統(tǒng)-------"); System.out.println("1.增加學(xué)生"); System.out.println("2.刪除學(xué)生"); System.out.println("3.修改學(xué)生"); System.out.println("4.查找學(xué)生"); System.out.println("5.查看所有學(xué)生"); System.out.println("6.退出"); System.out.println("請選擇:"); }//打印菜單頁
增加學(xué)生信息:
public static void addStudent(ArrayList<Student> arrayList){ Scanner sc1=new Scanner(System.in); System.out.print("請輸入姓名:"); String name=sc1.nextLine(); System.out.print("請輸入年齡:"); String age=sc1.nextLine(); System.out.print("請輸入性別:"); String sex=sc1.nextLine(); System.out.print("請輸入學(xué)號:"); String number=sc1.nextLine(); System.out.print("請輸入班級:"); String classroom=sc1.nextLine(); Student stu=new Student(); stu.setAge(age); stu.setClassroom(classroom); stu.setName(name); stu.setSex(sex); stu.setNumber(number); int kong=0;//用來定義是否已經(jīng)存在的學(xué)號 for (int i=0;i<arrayList.size();i++){ Student s=arrayList.get(i); if((arrayList.size())>1&&(s.getNumber().equals(number))&&(s.getClassroom().equals(classroom))){ System.out.println("添加失敗,你輸入的學(xué)號在同一班級已存在");kong++;//存在就加一 arrayList.remove(stu); } } if(name.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0||kong!=0){ System.out.println("有某項為空或?qū)W號在同一班已存在,添加失敗"); arrayList.remove(stu);//移除該項 } else{ arrayList.add(stu); System.out.println("添加成功");} }//加信息
查看學(xué)生信息:
public static void checkStudent(ArrayList<Student> array){ if(array.isEmpty()){ System.out.println("這里沒有任何信息,請?zhí)砑雍蟛榭矗?); }else{ System.out.println(array);} }//查信息
刪除學(xué)生信息:
public static void deleteStudent(ArrayList<Student> array){ if(array.isEmpty()){ System.out.println("這里沒有任何信息,請?zhí)砑雍笤谶M(jìn)行操作!"); }else{ Scanner sc=new Scanner(System.in); System.out.println("請輸入你要刪除信息的名字"); String str=sc.nextLine(); int sum=0; for(int i=0;i<array.size();i++){ Student s = array.get(i); if(s.getName().equals(str)){ array.remove(i);sum++; System.out.println("刪除成功"); } }if(sum==0){ System.out.println("沒有該信息,刪除失敗!"); } } }//刪信息
修改學(xué)生信息:
public static void reviseStudent(ArrayList<Student> arrayList){ if(arrayList.isEmpty()){ System.out.println("沒有任何信息,請輸入后在進(jìn)行操作!"); }else { int sum=0; Scanner sc = new Scanner(System.in); System.out.println("請輸入你要換信息的名字"); String name=sc.nextLine(); for(int i=0;i<arrayList.size();i++){ Student s1=arrayList.get(i); if(s1.getName().equals(name)){ sum++; } } if(sum!=0){ Scanner sc1=new Scanner(System.in); System.out.print("請輸入姓名:"); String name1=sc1.nextLine(); System.out.print("請輸入年齡:"); String age=sc1.nextLine(); System.out.print("請輸入性別:"); String sex=sc1.nextLine(); System.out.print("請輸入學(xué)號:"); String number=sc1.nextLine(); System.out.print("請輸入班級:"); String classroom=sc1.nextLine(); Student stu=new Student(); stu.setAge(age); stu.setClassroom(classroom); stu.setName(name1); stu.setSex(sex); stu.setNumber(number); for (int i = 0; i < arrayList.size(); i++) { Student stu1 = arrayList.get(i); if (stu1.getName().equals(name)) { arrayList.set(i, stu); System.out.println("修改成功");break; } }}if(sum==0){ System.out.println("修改失敗,沒有找到對應(yīng)的名字"); } } }//改信息
查找學(xué)生信息:
public static void oneStudent(ArrayList<Student> arrayList){ if (arrayList.isEmpty()){ System.out.println("沒有學(xué)生信息,請?zhí)砑雍笤俨檎?); }else{ Scanner sc=new Scanner(System.in); System.out.print("請輸入你要查找學(xué)生的名字:"); String name=sc.nextLine(); int sum=0; for(int i=0;i<arrayList.size();i++){ Student stu=arrayList.get(i); if(stu.getName().equals(name)){sum++; System.out.println("姓名:"+stu.getName()+" 年齡:"+stu.getAge()+" 性 別:"+stu.getSex()+" 班級:"+stu.getClassroom()+" 學(xué)號:"+stu.getNumber()); } }if(sum==0){ System.out.println("你查找的學(xué)生不存在"); } } }//找信息
代碼效果演示圖:
到此這篇關(guān)于Java 實現(xiàn)完整功能的學(xué)生管理系統(tǒng)實例的文章就介紹到這了,更多相關(guān)Java 學(xué)生管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java實現(xiàn)學(xué)生管理系統(tǒng)(控制臺版本)
- Java版學(xué)生管理系統(tǒng)
- Java畢業(yè)設(shè)計實戰(zhàn)之學(xué)生管理系統(tǒng)的實現(xiàn)
- java控制臺實現(xiàn)學(xué)生管理系統(tǒng)
- Java實現(xiàn)學(xué)生管理系統(tǒng)(IO版)
- JavaSwing實現(xiàn)小型學(xué)生管理系統(tǒng)
- java實現(xiàn)簡單的學(xué)生管理系統(tǒng)
- Java實現(xiàn)學(xué)生管理系統(tǒng)詳解
- Java實現(xiàn)學(xué)生管理系統(tǒng)詳解流程
相關(guān)文章
Java JSch遠(yuǎn)程執(zhí)行Shell命令的方法
本文主要介紹了Java JSch遠(yuǎn)程執(zhí)行Shell命令,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02springboot開發(fā)flowable定時任務(wù)問題
這篇文章主要介紹了springboot開發(fā)flowable定時任務(wù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Java實現(xiàn)解析JSON大文件JsonReader工具詳解
這篇文章主要介紹了Java實現(xiàn)解析JSON大文件的工具JsonReader使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件
這篇文章主要介紹了SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09MyBatis的SQL執(zhí)行結(jié)果和客戶端執(zhí)行結(jié)果不一致問題排查
本文主要介紹了MyBatis的SQL執(zhí)行結(jié)果和客戶端執(zhí)行結(jié)果不一致問題排查,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04