Java超詳細(xì)教你寫(xiě)一個(gè)學(xué)籍管理系統(tǒng)案例
前言
學(xué)籍管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的領(lǐng)導(dǎo)人和管理者來(lái)說(shuō)都至關(guān)重要,有助于提高整個(gè)學(xué)校的教育水平和管理水平,減少人力資源的浪費(fèi),適應(yīng)大量的學(xué)生信息變更。 本文所寫(xiě)的學(xué)籍管理系統(tǒng)實(shí)現(xiàn)了學(xué)籍管理系統(tǒng)的主要功能,大家的小學(xué)期程序設(shè)計(jì)能用到的話,可以參考一下哦!當(dāng)然啦,也可以在此基礎(chǔ)上不斷完善!
一、學(xué)籍管理系統(tǒng)功能介紹
1.介紹
學(xué)籍管理系統(tǒng)首先有外部的主界面展示功能,進(jìn)入主界面后可以選擇想要的操作,如添加學(xué)生信息、修改學(xué)生信息、查找學(xué)生信息、刪除學(xué)生信息、查看學(xué)生信息和退出系統(tǒng)操作。
2.學(xué)籍管理系統(tǒng)的主要功能圖示
3.代碼編寫(xiě)的思路
- 3.1 定義學(xué)生類(lèi)
- 3.2 主界面的代碼編寫(xiě)
- 3.3 添加學(xué)生的代碼編寫(xiě)
- 3.4 查看學(xué)生的代碼編寫(xiě)
- 3.5 刪除學(xué)生的代碼編寫(xiě)
- 3.6 修改學(xué)生的代碼編寫(xiě)
二、定義學(xué)生類(lèi)
1.學(xué)生類(lèi)名稱:
Student
2.包含的成員變量
- 學(xué)號(hào):num
- 姓名:name
- 年齡:age
- 地址:address
3.構(gòu)造方法
無(wú)參構(gòu)造
帶四個(gè)參數(shù)的構(gòu)造
4.成員方法
每個(gè)成員變量給出對(duì)應(yīng)的get/set方法
5.代碼示例
public class Student { private String num;//學(xué)生學(xué)號(hào) private String name;//學(xué)生姓名 private String age;//學(xué)生年齡 private String address;//學(xué)生地址 public Student() { }//無(wú)參構(gòu)造 public Student(String num, String name, String age, String address) { this.num = num; this.name = name; this.age = age; this.address = address; }//帶四個(gè)參數(shù)的構(gòu)造 public String getNum() { return num; } public void setNum(String num) { this.num = num; } 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; }
三、主界面的代碼編寫(xiě)
1.思路
- 新建一個(gè)主類(lèi)(Studentdemo)
- 用輸出語(yǔ)句完成主界面的編寫(xiě)
- 用
Scanner
實(shí)現(xiàn)鍵盤(pán)錄入數(shù)據(jù) - 用
switch
語(yǔ)句完成操作的選擇 - 用循環(huán)完成再次回到主界面
- 循環(huán)之中包含添加、查找、刪除、修改的方法
2.代碼示例
主類(lèi):主界面的編寫(xiě)
public class Studentdemo { public static void main(String[] args){ ArrayList<Student> array=new ArrayList<>(); while(true) { 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.退出"); System.out.println("請(qǐng)選擇你需要的操作:"); Scanner sc = new Scanner(System.in); String line = sc.nextLine(); switch (line) { case "1": //**此處調(diào)用“添加學(xué)生方法”** break; case "2": //**此處調(diào)用“刪除學(xué)生方法”** break; case "3": //**此處調(diào)用“修改學(xué)生方法”** break; case "4": //**此處調(diào)用“查找學(xué)生方法”** break; case "5": System.out.println("謝謝使用!"); System.exit(0); } } } }
四、系統(tǒng)功能方法的實(shí)現(xiàn)
1.添加學(xué)生信息的代碼編寫(xiě)
1.1 思路
鍵盤(pán)錄入選擇添加學(xué)生;
定義一個(gè)方法用于添加學(xué)生;
- 顯示提示信息
- 鍵盤(pán)錄入學(xué)生對(duì)象信息所需要的數(shù)據(jù)
- 創(chuàng)建學(xué)生對(duì)象,將錄入的數(shù)據(jù)賦值給學(xué)生對(duì)象的成員變量
- 將學(xué)生對(duì)象添加到集合中
- 給出添加成功提示
調(diào)用方法
1.2 添加學(xué)生信息的方法說(shuō)明圖
1.3 代碼示例
添加學(xué)生方法
public static void Addstudent(ArrayList<Student> array){ // 定義一個(gè)方法用于添加學(xué)生; Scanner sc=new Scanner(System.in); System.out.print("請(qǐng)輸入學(xué)生學(xué)號(hào):"); String num=sc.nextLine(); System.out.print("請(qǐng)輸入學(xué)生姓名:"); String name=sc.nextLine(); System.out.print("請(qǐng)輸入學(xué)生年齡:"); String age=sc.nextLine(); System.out.print("請(qǐng)輸入學(xué)生地址:"); String address=sc.nextLine(); //創(chuàng)建學(xué)生對(duì)象,將鍵盤(pán)錄入的數(shù)據(jù)賦值給學(xué)生對(duì)象的成員變量 Student s=new Student(); s.setNum(num); s.setName(name); s.setAge(age); s.setAddress(address); //將學(xué)生對(duì)象添加到集合中 array.add(s); //給出添加成功提示 System.out.println("添加學(xué)生成功!"); }
添加學(xué)生方法代碼寫(xiě)完后,注意要在main
方法中調(diào)用:Addstudent(array);
2.查看學(xué)生信息的代碼編寫(xiě)
2.1 思路
鍵盤(pán)錄入選擇查看所有學(xué)生信息;
定義一個(gè)方法,用于查看學(xué)生信息;
- 顯示表頭信息
- 將集合中數(shù)據(jù)取出按照對(duì)應(yīng)格式顯示學(xué)生信息
調(diào)用方法。
2.2 查看學(xué)生信息的方法說(shuō)明圖
2.3 代碼示例
查看學(xué)生方法
// 定義一個(gè)方法,用于查看學(xué)生信息; public static void Findallstudent(ArrayList<Student> array){ if(array.size()==0){ System.out.println("無(wú)信息!"); return; } // 顯示表頭信息 // 將集合中數(shù)據(jù)取出按照對(duì)應(yīng)格式顯示學(xué)生信息 for(int i=0;i<array.size();i++){ Student s=array.get(i); System.out.println("學(xué)號(hào):"+s.getNum()); System.out.println("姓名:"+s.getName()); System.out.println("年齡:"+s.getAge()); System.out.println("地址:"+s.getAddress()); System.out.println(" "); } }
查看學(xué)生方法代碼寫(xiě)完后,注意要在main
方法中調(diào)用:Findallstudent(array);
3.刪除學(xué)生信息的代碼編寫(xiě)
3.1 思路
鍵盤(pán)錄入要?jiǎng)h除的學(xué)生信息;
定義一個(gè)方法,用于刪除學(xué)生信息;
- 顯示提示信息
- 鍵盤(pán)錄入要?jiǎng)h除的學(xué)生學(xué)號(hào)
- 遍歷集合將對(duì)應(yīng)學(xué)生對(duì)象從集合中刪除
- 給出刪除成功提示
調(diào)用方法
3.2 刪除學(xué)生信息的方法說(shuō)明圖
3.3 代碼示例
刪除學(xué)生方法
// 定義一個(gè)方法,用于刪除學(xué)生信息; public static void Deletestudent(ArrayList<Student> array){ // 鍵盤(pán)錄入要?jiǎng)h除的學(xué)生信息,顯示提示信息 Scanner sc=new Scanner(System.in); System.out.println("請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):"); String num=sc.nextLine(); int index = -1; // 遍歷集合將對(duì)應(yīng)學(xué)生對(duì)象從集合中刪除 for(int i=0;i<array.size();i++){ Student s=array.get(i); if(s.getNum().equals(num)){ index = i; break; } } if(index == -1){ System.out.println("學(xué)號(hào)有誤!"); }else{ array.remove(index); System.out.println("刪除學(xué)生信息成功!"); } }
刪除學(xué)生方法代碼寫(xiě)完后,注意要在main
方法中調(diào)用:Deletestudent(array);
4.修改學(xué)生的代碼編寫(xiě)
4.1 思路
鍵盤(pán)錄入選擇修改的學(xué)生信息;
定義一個(gè)方法,用于修改學(xué)生信息;
- 顯示提示信息
- 鍵盤(pán)錄入要修改的學(xué)生學(xué)號(hào)
- 遍歷集合修改對(duì)應(yīng)的學(xué)生信息
- 給出修改成功提示
調(diào)用方法
4.2 修改學(xué)生信息的方法說(shuō)明圖
4.3 代碼示例
修改學(xué)生方法
// 定義一個(gè)方法,用于修改學(xué)生信息; public static void Updatestudent(ArrayList<Student> array){ // 鍵盤(pán)錄入選擇修改的學(xué)生信息,顯示提示信息 Scanner sc=new Scanner(System.in); System.out.print("請(qǐng)輸入要修改的學(xué)生學(xué)號(hào):"); String num=sc.nextLine(); // 鍵盤(pán)錄入要修改的學(xué)生信息 System.out.print("請(qǐng)輸入修改后的學(xué)生姓名"); String name=sc.nextLine(); System.out.print("請(qǐng)輸入修改后的學(xué)生年齡"); String age=sc.nextLine(); System.out.print("請(qǐng)輸入修改后的學(xué)生地址"); String address=sc.nextLine(); //創(chuàng)建學(xué)生對(duì)象 Student s=new Student(); s.setNum(num); s.setName(name); s.setAge(age); s.setAddress(address); //遍歷集合修改對(duì)應(yīng)的學(xué)生信息 for(int i=0;i<array.size();i++){ Student student=array.get(i); if(student.getNum().equals(num)){ array.set(i,s); break; } } //修改成功提示 System.out.println("修改成功!"); }
修改學(xué)生信息方法代碼寫(xiě)完后,注意要在main
方法中調(diào)用:Updatestudent(array);
5.學(xué)號(hào)重復(fù)問(wèn)題
5.1 思路
定義一個(gè)方法,對(duì)學(xué)號(hào)是否被使用進(jìn)行判斷;
- 如果與集合中的某一個(gè)學(xué)生學(xué)號(hào)相同,返回true
- 如果都不相同,返回false;
在添加學(xué)生錄入學(xué)號(hào)后調(diào)用該方法
- 如果返回true,提示重新輸入學(xué)號(hào)
- 如果返回false,正常添加學(xué)生對(duì)象
5.2 學(xué)號(hào)被占用的方法說(shuō)明圖
5.3 代碼示例
判斷學(xué)號(hào)是否被使用方法
// 定義一個(gè)方法,對(duì)學(xué)號(hào)是否被使用進(jìn)行判斷; public static boolean Isused(ArrayList<Student> array,String num){ // 如果與集合中的某一個(gè)學(xué)生學(xué)號(hào)相同,返回true // 如果都不相同,返回false; boolean flag =false; for(int i=0;i<array.size();i++){ Student s=array.get(i); if(s.getNum().equals(num)){ flag = true; break; } } return flag; // 在添加學(xué)生錄入學(xué)號(hào)后調(diào)用該方法 // 如果返回true,提示重新輸入學(xué)號(hào) // 如果返回false,正常添加學(xué)生對(duì)象 }
5.4 代碼示例
改進(jìn)后的——添加學(xué)生信息方法
public static void Addstudent(ArrayList<Student> array){ // 定義一個(gè)方法用于添加學(xué)生; Scanner sc=new Scanner(System.in); String num; //為了讓程序回到這里,我們使用循環(huán)實(shí)現(xiàn) while(true){ System.out.print("請(qǐng)輸入學(xué)生學(xué)號(hào):"); num = sc.nextLine(); boolean flag=Isused(array,num); if(flag){ System.out.println("你輸入的學(xué)號(hào)已經(jīng)被使用,請(qǐng)重新輸入:"); }else{ break; } } System.out.print("請(qǐng)輸入學(xué)生姓名:"); String name=sc.nextLine(); System.out.print("請(qǐng)輸入學(xué)生年齡:"); String age=sc.nextLine(); System.out.print("請(qǐng)輸入學(xué)生地址:"); String address=sc.nextLine(); //創(chuàng)建學(xué)生對(duì)象,將鍵盤(pán)錄入的數(shù)據(jù)賦值給學(xué)生對(duì)象的成員變量 Student s=new Student(); s.setNum(num); s.setName(name); s.setAge(age); s.setAddress(address); //將學(xué)生對(duì)象添加到集合中 array.add(s); //給出添加成功提示 System.out.println("添加學(xué)生成功!"); }
兩個(gè)方法代碼寫(xiě)完后,注意要在main
方法中調(diào)用:
首先調(diào)用判斷學(xué)號(hào)被使用方法:Isused(array);
調(diào)用改進(jìn)后的添加學(xué)生信息方法:Addstudent(array);
(注意:如果之前有調(diào)用了標(biāo)題4中的方法,應(yīng)先刪去后在調(diào)用改進(jìn)后的添加學(xué)生信息方法?。?/p>
總結(jié)
文章中代碼的編寫(xiě)使用的都是Java基礎(chǔ)知識(shí),多加練習(xí)熟能生巧。
到此這篇關(guān)于Java超詳細(xì)教你寫(xiě)一個(gè)學(xué)籍管理系統(tǒng)案例的文章就介紹到這了,更多相關(guān)Java 學(xué)籍管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java+mysql實(shí)現(xiàn)學(xué)籍管理系統(tǒng)
- Java實(shí)現(xiàn)簡(jiǎn)易學(xué)籍管理系統(tǒng)
- java實(shí)現(xiàn)簡(jiǎn)易的學(xué)籍管理系統(tǒng)
- java實(shí)現(xiàn)學(xué)籍管理系統(tǒng)
- Java+Mysql學(xué)生管理系統(tǒng)源碼
- javaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- Java+MySQL實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)源碼
- java學(xué)生管理系統(tǒng)界面簡(jiǎn)單實(shí)現(xiàn)(全)
- java學(xué)生信息管理系統(tǒng)源代碼
- java基于控制臺(tái)的學(xué)生學(xué)籍管理系統(tǒng)
相關(guān)文章
Spring中的HandlerMapping執(zhí)行流程詳解
這篇文章主要介紹了Spring中的HandlerMapping執(zhí)行流程詳解,HandlerMapping在Spring MVC框架的jar包下面,他是處理映射器,為用戶發(fā)送的請(qǐng)求找到合適的Handler Adapter,它將會(huì)把請(qǐng)求映射為HandlerExecutionChain對(duì)象,需要的朋友可以參考下2023-08-08Spring?Security權(quán)限注解啟動(dòng)及邏輯處理使用示例
這篇文章主要為大家介紹了Spring?Security權(quán)限注解啟動(dòng)及邏輯處理使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07springboot基于過(guò)濾器實(shí)現(xiàn)接口請(qǐng)求耗時(shí)統(tǒng)計(jì)操作
這篇文章主要介紹了springboot基于過(guò)濾器實(shí)現(xiàn)接口請(qǐng)求耗時(shí)統(tǒng)計(jì)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09Java基礎(chǔ)知識(shí)精通循環(huán)結(jié)構(gòu)與break及continue
循環(huán)結(jié)構(gòu)是指在程序中需要反復(fù)執(zhí)行某個(gè)功能而設(shè)置的一種程序結(jié)構(gòu)。它由循環(huán)體中的條件,判斷繼續(xù)執(zhí)行某個(gè)功能還是退出循環(huán),選擇結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果判斷某些條件,根據(jù)判斷的結(jié)果來(lái)控制程序的流程2022-04-04Java Web使用POI導(dǎo)出Excel的方法詳解
這篇文章主要介紹了Java Web使用POI導(dǎo)出Excel的方法,結(jié)合實(shí)例形式詳細(xì)分析了Java Web使用POI導(dǎo)出Excel的具體操作步驟、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-06-06postman中實(shí)現(xiàn)傳遞@RequestBody參數(shù)
這篇文章主要介紹了postman中實(shí)現(xiàn)傳遞@RequestBody參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10關(guān)于Java中的mysql時(shí)區(qū)問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于Java中mysql時(shí)區(qū)問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05一文詳解SpringMVC中的@RequestMapping注解
@RequestMapping是一個(gè)用于映射HTTP請(qǐng)求到處理方法的注解,在Spring框架中使用,它可以用于控制器類(lèi)和處理方法上,用來(lái)指定處理不同URL路徑的請(qǐng)求,并定義請(qǐng)求的方法等,本文小編將給大家詳細(xì)的介紹一下SpringMVC中的@RequestMapping注解,需要的朋友可以參考下2023-08-08