您好,登錄后才能下訂單哦!
這篇文章主要介紹了java怎么實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
需求分析
一個(gè)學(xué)生信息管理系統(tǒng)應(yīng)該包含這些內(nèi)容:
教師頁(yè)面
在教師頁(yè)面應(yīng)該包含:
學(xué)生頁(yè)面
在教學(xué)生頁(yè)面應(yīng)該包含:
包含的類
根據(jù)分析,我們的學(xué)生信息系統(tǒng)應(yīng)該包含三個(gè)類:
代碼
學(xué)生類
Student.java
package com.gcl; import com.sun.org.glassfish.external.statistics.AverageRangeStatistic; import java.util.Scanner; /** * Created by GCL on 2017/4/22. */ public class Student { private int number; //學(xué)號(hào) private String name; //姓名 private int age; //年齡 private double grade[]=new double[100]; //各科分?jǐn)?shù) private String project[]=new String[100]; //各科名稱 private double average; //平均分 private int count; //科目數(shù)量 public void setNumber(int num) { this.number=num; } public int getNumber() { return number; } public void setName(String name) { this.name=name; } public String getName() { return name; } public void setAge(int age) { this.age=age; } public int getAge() { return age; } public void setGrade(double a[]) { System.arraycopy(a, 0, grade, 0, a.length); } public double getGrade(int i) { return grade[i]; } public void setProject(String a[]) { System.arraycopy(a,0,project,0,a.length); this.count=a.length; } public String getProject(int i) { return project[i]; } public void setAverage(int len) { double sum=0; int i=0; for (;i<len;i++) { sum+=grade[i]; } this.average=sum/(i*1.0); } public double getAverage() { return average; } public int getCount() { return count; } }
賬號(hào)密碼類
Imfomation .java
package com.gcl; /** * Created by GCL on 2017/5/6. */ public class Imfomation { private String code; private String account; public Imfomation(String admin, String s) { this.account=admin; this.code=s; } public void setCode(String code) { this.code=code; } public String getCode() { return code; } public void setAccont(String account) { this.account=account; } public String getAccont() { return account; } }
系統(tǒng)操作類
MAIN.java
package com.gcl; import java.util.Objects; import java.util.Scanner; /** * Created by GCL on 2017/5/7. */ public class MAIN { private static int m=0; //科目數(shù)量 private static int n=0; //學(xué)生數(shù)量 private static String[] a=new String[50]; private static Imfomation ac=new Imfomation("Admin","123456"); //初始化教師賬號(hào)密碼 private static Student su[]=new Student[100]; //實(shí)例化學(xué)生類數(shù)組 public static void main(String[] args) { show(); //進(jìn)入系統(tǒng)初始頁(yè)面 } //系統(tǒng)初始頁(yè)面 private static void show() { System.out.println("----------歡迎來(lái)到學(xué)生綜合信息管理系統(tǒng)----------"); System.out.println("- 請(qǐng)先登錄: -"); System.out.println("- 1.教師登錄 -"); System.out.println("- 2.學(xué)生登錄 -"); System.out.println("- 0.退出 -"); System.out.println("------------------------------------------------"); Scanner in=new Scanner(System.in); int ch=in.nextInt(); if (ch==1) Login(ac); else if (ch==2) Student(); else if (ch==0) System.exit(0); else System.exit(1); } //教師登錄頁(yè)面 private static void Login(Imfomation ac) //把a(bǔ)c當(dāng)作參數(shù)傳入 { Scanner in=new Scanner(System.in); System.out.println("請(qǐng)輸入賬戶名稱:"); String c=in.nextLine(); if (!Objects.equals(c, ac.getAccont())) { System.out.println("賬號(hào)不存在!"); MAIN.Login(ac); } System.out.println("請(qǐng)輸入密碼:"); String b=in.nextLine(); { if (!Objects.equals(b, ac.getCode())) { System.out.println("密碼錯(cuò)誤!"); MAIN.Login(ac); } } System.out.println("登錄成功!"); MAIN.Teacher(); } //教師主頁(yè)面 private static void Teacher() { System.out.println("-----------------------------------------------"); System.out.println("-----請(qǐng)選擇你要執(zhí)行的操作: ---------------"); System.out.println("-----1.創(chuàng)建學(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("-----0.退出系統(tǒng) ---------------"); Scanner ch=new Scanner(System.in); int c=ch.nextInt(); if (c==1) Create(); else if (c==2) Search(1); else if (c==3) Show(); else if (c==4) Delete(); else if (c==5) Renew(); else if (c==6) Recode(); else if (c==0) show(); else { System.out.println("輸入錯(cuò)誤!"); Teacher(); } } //學(xué)生主頁(yè)面 private static void Student() { System.out.println("-----------------------------------------------"); System.out.println("-----請(qǐng)選擇你要執(zhí)行的操作: ---------------"); System.out.println("-----1.查詢學(xué)生信息 ---------------"); System.out.println("-----0.退出系統(tǒng) ---------------"); Scanner In=new Scanner(System.in); int ch=In.nextInt(); if (ch==1) Search(2); else if (ch==0) show(); else { System.out.println("輸入錯(cuò)誤!"); Student(); } } //創(chuàng)建學(xué)生信息 private static void Create() { String str; int num1=0,t; double[] g=new double[50]; while(true) { su[n]=new Student(); System.out.println("請(qǐng)輸入學(xué)生學(xué)號(hào):"); Scanner in=new Scanner(System.in); num1=in.nextInt(); for (int i=0;i<n;i++) //檢測(cè)學(xué)號(hào)是否重復(fù) { while(su[i].getNumber() == num1) { System.out.println("已經(jīng)存在該學(xué)號(hào),請(qǐng)重新輸入:"); num1=in.nextInt(); } } su[n].setNumber(num1); System.out.println("請(qǐng)輸入學(xué)生姓名:"); str=in.next(); su[n].setName(str); System.out.println("請(qǐng)輸入學(xué)生年齡:"); t=in.nextInt(); su[n].setAge(t); if (n==0) //在創(chuàng)建第一個(gè)學(xué)生時(shí),同時(shí)創(chuàng)建學(xué)科的數(shù)量和名稱 { System.out.println("請(qǐng)輸入N門課"); m=in.nextInt(); System.out.println("請(qǐng)分別輸入"+m+"門科目的名字:"); for(int i=0;i<m;i++) { a[i]=in.next(); } } su[n].setProject(a); for (int i=0;i<m;i++) { System.out.println("請(qǐng)輸入"+su[n].getProject(i)+"科目的成績(jī):"); g[i]=in.nextInt(); } su[n].setGrade(g); su[n].setAverage(m); n++; System.out.println("是否繼續(xù)添加?(是/Y,否/N)"); String cho=in.next(); char ch=cho.charAt(0); if (ch=='N'||ch=='n') Teacher(); //返回教師主頁(yè)面 while(ch!='N'&&ch!='n'&&ch!='Y'&&ch!='y') { System.out.println("輸入無(wú)效,請(qǐng)重新輸入:"); cho=in.next(); ch=cho.charAt(0); } } } //展示學(xué)生信息 private static void Show() { System.out.println("學(xué)生信息如下:"); for (int i=0;i<n;i++) { System.out.println("第"+i+"名學(xué)生:"); System.out.println("學(xué)號(hào):"+su[i].getNumber()+"\t姓名:"+su[i].getName()+"\t年齡:"+su[i].getAge()); System.out.println("該學(xué)生各科成績(jī)?yōu)椋?quot;); for (int j=0;j<m;j++) { System.out.println(su[i].getProject(j)+":\t"+su[i].getGrade(j)); } System.out.println("該學(xué)生平均分為:"+su[i].getAverage()); } System.out.println("輸入任意值返回主菜單"); Scanner in=new Scanner(System.in); in.next(); Teacher(); } //搜索學(xué)生信息,參數(shù)是用來(lái)判斷訪問(wèn)該函數(shù)的是學(xué)生還是老師 private static void Search(int jud) { System.out.println("----------------------"); System.out.println("----請(qǐng)選擇搜索方式----"); //選擇搜索方式 System.out.println("----1.按學(xué)號(hào)搜索 ----"); System.out.println("----2.按姓名搜索 ----"); System.out.println("----0.返回主菜單 ----"); System.out.println("----------------------"); Scanner In=new Scanner(System.in); int ch=In.nextInt(); boolean temp=false; if (ch==1) { System.out.println("請(qǐng)輸入學(xué)號(hào):"); int nu=In.nextInt(); for (int i=0;i<n;i++) { if (su[i].getNumber()==nu) { System.out.println("尋找成功"); System.out.println("學(xué)號(hào):"+su[i].getNumber()+"\t姓名:"+su[i].getName()+"\t年齡:"+su[i].getAge()); System.out.println("該學(xué)生各科成績(jī)?yōu)椋?quot;); for (int j=0;j<m;j++) { System.out.println(su[i].getProject(j)+":\t"+su[i].getGrade(j)); } System.out.println("該學(xué)生平均分為:"+su[i].getAverage()); System.out.println("輸入任意值返回主菜單"); Scanner in=new Scanner(System.in); in.next(); if (jud==1) //如果是老師訪問(wèn),返回Teacher() Teacher(); Student(); //否則返回Student() } } System.out.println("沒(méi)有找到該學(xué)生,即將返回"); if (jud==1) Teacher(); Student(); } else if (ch==2) { System.out.println("請(qǐng)輸入姓名:"); String na=In.next(); for (int i=0;i<n;i++) { if (Objects.equals(su[i].getName(), na)) { System.out.println("尋找成功"); System.out.println("學(xué)號(hào):"+su[i].getNumber()+"\t姓名:"+su[i].getName()+"\t年齡:"+su[i].getAge()); System.out.println("該學(xué)生各科成績(jī)?yōu)椋?quot;); for (int j=0;j<m;j++) { System.out.println(su[i].getProject(j)+":\t"+su[i].getGrade(j)); } System.out.println("該學(xué)生平均分為:"+su[i].getAverage()); temp=true; } } if (temp) { System.out.println("輸入任意值返回主菜單"); Scanner in=new Scanner(System.in); in.next(); if (jud==1) Teacher(); Student(); } else { System.out.println("沒(méi)有找到該學(xué)生,即將返回"); if (jud==1) Teacher(); Student(); } } else if (ch==0) { if (jud==1) Teacher(); Student(); } else { System.out.println("輸入錯(cuò)誤!"); Search(jud); } } //刪除學(xué)生信息 private static void Delete() { System.out.println("請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào):"); Scanner In=new Scanner(System.in); int num=In.nextInt(); boolean temp=true; //判斷是否找到該學(xué)生 int tem=0,i=0; for (i=0;i<n;i++) { if (su[i].getNumber()==num) { temp=false; tem=i; //用tem記錄該學(xué)生的位置 break; } } if (temp) { System.out.println("未找到該學(xué)生信息"); System.out.println("輸入任意值返回主菜單"); Scanner in=new Scanner(System.in); in.next(); Teacher(); } else { System.out.println("你要?jiǎng)h除的學(xué)生信息:"); System.out.println("學(xué)號(hào):"+su[tem].getNumber()+"\t姓名:"+su[tem].getName()+"\t年齡:"+su[tem].getAge()); System.out.println("該學(xué)生各科成績(jī)?yōu)椋?quot;); for (int j=0;j<m;j++) { System.out.println(su[tem].getProject(j)+":\t"+su[tem].getGrade(j)); } System.out.println("該學(xué)生平均分為:"+su[tem].getAverage()); System.out.println("你確定要?jiǎng)h除該學(xué)生嗎?(是/Y,否/N)"); String ch=In.next(); char se=ch.charAt(0); while(se!='N'&&se!='n'&&se!='Y'&&se!='y') { System.out.println("輸入無(wú)效,請(qǐng)重新輸入:"); ch=In.next(); se=ch.charAt(0); } if (se=='N'||se=='n') { System.out.println("返回主菜單"); Teacher(); } if (se=='Y'||se=='y') //通過(guò)線性表的刪除操作來(lái)刪除該學(xué)生的信息 { for (i=tem;i<n-1;i++) { su[i]=su[i+1]; } n--; System.out.println("學(xué)生信息刪除成功!"); System.out.println("輸入任意值返回主菜單"); Scanner in=new Scanner(System.in); in.next(); Teacher(); } } } //修改學(xué)生信息 private static void Renew() { System.out.println("請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào):"); Scanner In=new Scanner(System.in); int num=In.nextInt(); boolean temp=true; int tem=0,i=0; for (i=0;i<n;i++) { if (su[i].getNumber()==num) { temp=false; tem=i; break; } } if (temp) { System.out.println("未找到該學(xué)生信息"); System.out.println("輸入任意值返回主菜單"); Scanner in=new Scanner(System.in); in.next(); Teacher(); } else { System.out.println("你要修改的學(xué)生信息如下:"); System.out.println("你要修改的學(xué)生信息:"); System.out.println("學(xué)號(hào):"+su[tem].getNumber()+"\t姓名:"+su[tem].getName()+"\t年齡:"+su[tem].getAge()); System.out.println("該學(xué)生各科成績(jī)?yōu)椋?quot;); for (int j=0;j<m;j++) { System.out.println(su[tem].getProject(j)+":\t"+su[tem].getGrade(j)); } System.out.println("該學(xué)生平均分為:"+su[tem].getAverage()); System.out.println("你確定要修改該學(xué)生嗎?(是/Y,否/N)"); String ch=In.next(); char se=ch.charAt(0); while(se!='N'&&se!='n'&&se!='Y'&&se!='y') { System.out.println("輸入無(wú)效,請(qǐng)重新輸入:"); ch=In.next(); se=ch.charAt(0); } if (se=='N'||se=='n') { System.out.println("返回主菜單"); Teacher(); } if (se=='Y'||se=='y') { double[] g=new double[50]; System.out.println("請(qǐng)選擇修改的內(nèi)容:"); //選擇修改哪些內(nèi)容 System.out.println("---1.修改姓名----"); System.out.println("---2.修改年齡----"); System.out.println("---3.修改成績(jī)----"); System.out.println("---0.返回主菜單--"); int cho=In.nextInt(); if (cho==1) { System.out.println("請(qǐng)輸入姓名:"); String name=In.next(); su[tem].setName(name); System.out.println("修改成功!"); System.out.println("還要繼續(xù)修改嗎?(是/Y,否/N)"); ch=In.next(); se=ch.charAt(0); while (se!='N'&&se!='n'&&se!='Y'&&se!='y') { System.out.println("輸入無(wú)效,請(qǐng)重新輸入:"); ch=In.next(); se=ch.charAt(0); } if (se=='N'||se=='n') { System.out.println("返回主菜單"); Teacher(); } if (se=='y'||se=='Y') { Renew(); } } else if (cho==2) { System.out.println("請(qǐng)輸入年齡:"); int ag=In.nextInt(); su[tem].setAge(ag); System.out.println("修改成功!"); System.out.println("還要繼續(xù)修改嗎?(是/Y,否/N)"); ch=In.next(); se=ch.charAt(0); while (se!='N'&&se!='n'&&se!='Y'&&se!='y') { System.out.println("輸入無(wú)效,請(qǐng)重新輸入:"); ch=In.next(); se=ch.charAt(0); } if (se=='N'||se=='n') { System.out.println("返回主菜單"); Teacher(); } if (se=='y'||se=='Y') { Renew(); } } else if (cho==3) { for (int j=0;j<m;j++) { System.out.println("請(qǐng)輸入"+su[tem].getProject(j)+"科目的成績(jī):"); g[j]=In.nextInt(); } su[tem].setGrade(g); su[tem].setAverage(m); System.out.println("修改成功!"); System.out.println("還要繼續(xù)修改嗎?(是/Y,否/N)"); ch=In.next(); se=ch.charAt(0); while (se!='N'&&se!='n'&&se!='Y'&&se!='y') { System.out.println("輸入無(wú)效,請(qǐng)重新輸入:"); ch=In.next(); se=ch.charAt(0); } if (se=='N'||se=='n') { System.out.println("返回主菜單"); Teacher(); } if (se=='y'||se=='Y') { Renew(); } } else if (cho==0) { Teacher(); } else { System.out.println("輸入無(wú)效!"); Renew(); } } } } //修改教師的密碼 private static void Recode() { System.out.println("請(qǐng)輸入原來(lái)的密碼:"); Scanner In=new Scanner(System.in); String code =In.nextLine(); if (!Objects.equals(code, ac.getCode())) { System.out.println("密碼輸入錯(cuò)誤!"); Teacher(); } System.out.println("請(qǐng)輸入新密碼:"); //要求輸入兩次新密碼 String co1=In.nextLine(); System.out.println("請(qǐng)?jiān)俅屋斎胄旅艽a:"); String co2=In.nextLine(); if (!Objects.equals(co1, co2)) { System.out.println("兩次輸入密碼不一致!"); System.out.println("即將返回主界面"); Teacher(); } else { ac.setCode(co1); System.out.println("密碼修改成功!"); System.out.println("輸入任意值返回主菜單"); Scanner in=new Scanner(System.in); in.next(); Teacher(); } } }
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“java怎么實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。