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)名稱(chēng):
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é)生信息方法!)
總結(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包下面,他是處理映射器,為用戶(hù)發(fā)送的請(qǐng)求找到合適的Handler Adapter,它將會(huì)把請(qǐng)求映射為HandlerExecutionChain對(duì)象,需要的朋友可以參考下2023-08-08
Spring?Security權(quán)限注解啟動(dòng)及邏輯處理使用示例
這篇文章主要為大家介紹了Spring?Security權(quán)限注解啟動(dòng)及邏輯處理使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
springboot基于過(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-09
Java基礎(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-04
Java 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-06
postman中實(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

