學生成績管理系統綜合試驗報告_第1頁
學生成績管理系統綜合試驗報告_第2頁
學生成績管理系統綜合試驗報告_第3頁
學生成績管理系統綜合試驗報告_第4頁
學生成績管理系統綜合試驗報告_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Java咼級編程課程報告學生成績管理系統小組成員及分工姓名角色負責功能組長設計與編碼測試綱偉是是是增加學生、刪改查學生、存取數據坤否是是登錄用戶、修改密碼建銳否是是刪除學生、查找學生、修改學生實驗壞境操作系統:Windows7編程環境:Eclipse實驗容與完成情況1.登錄用戶(1)登錄用戶:有3種不同的式登錄,管理員登錄、教師登錄和學生。每個用戶都有自己的 賬號和密碼,通過輸入賬號和密碼來登錄,輸入賬號和密碼后會檢查是否合理,即賬號 只能由數學組成,密碼只能數字和字母組成,否則會提示錯誤登錄不成功;然后再查找 數據庫,如果找到匹配的賬號和密碼,就登錄成功,否則登錄不成功。登錄成功后會添 加相

2、應的功能,管理員可以增刪改查學生,教師可以修改和查找學生,學生只能查找學 生。(3)代碼:Stri ng si = textField.getText();Stri ng s2 = passwordField.getText();Stude ntDao dao = new Stude ntDao();boolea n result = false;if( radioButton.isSelected()=true)/ 管理員登錄result = dao.seachadm ini strators(s1, s2);if(result) / 登錄成功men uEdit.removeAII();me

3、n uEdit.add(Addltem);men uEdit.add(SDEItem);教師登錄else if(radioButt on _1 .isSelected()=true)result = dao.seachteacher(s1, s2);if(result) / 登錄成功men uEdit.removeAII();SDEItem.setText(p 改查學生”);men uEdit.add(SDEItem);else if(radioButton_2.isSelected()=true)/ 學生登錄result = dao.seachstude nt(s1, s2);if(resu

4、lt)/ 登錄成功men uEdit.removeAII();SDEItem.setTextC,查找學生”);men uEdit.add(SDEItem);2增加學生(1) 增加學生:輸入學生姓名、學號、性別、班別、成績等信息,判斷輸入的倍息是否為空,如果為空提 示錯誤(如姓名為空,就提示姓名不能為空,其他的一樣),增加學生失敗。如果不為空判斷學號和 成績是否合理,如果不合理就提示錯誤(如學號中含有字母和其他不是數字的字符,就提示學號只能 由數字組成)。如果合理,則把學生信息封裝成學生對象,再通過學生對象把學生信息添加到學生 數據庫里。(2) 流程圖輸入學生姓名、學號等信息專業資料姓名、學號等

5、信息是否為空?提示錯誤,增加學生失敗姓名、學號等信是(3) 代碼private void addltemf) throIjS IOEMDocumentExcepllon-f11 ddstultem(l);button_1 addActionListener(rew ActionListrn 亡 r() public void actlonPcrformed(ActionEvent e) boo lean result = addstuchulityIf(result) get&tudentOJ sfu.setMimafstu.getStulDf)J: StudentOao dao = new

6、5tudentDac(); result = dao.addstudenttstu) lf(result)else10ptionPane4.5/rojAJes5CTA?inlog(nul畀Nit弋嚥打); private boolean addstuchuliQ /TODO去強址堿林ctu二new Studentf);String gl=te5dtField 1.gAtTeirt();String g2=textField_2*gptText()jStrin 呂呂 3=(String) comboBox.ge tE (ntEm();5ting 4= (String) com be 日口 xJL

7、 h vt Leet m dlt a rr():If (BI-equalsCM) | lA.equalsf) | IgS.equalsf-) | k4.equals( if(8l. equals (-)JOptionPani曲ohf把主m gQ*i 口詔卜應丸軽“ :else if(g2equals(*M)JOptionPane,s/ioAlessageDiaLog(mu 11 ):亡 h 乜 if(g3.equals(m,)| lOptionPanenog(nulF 二云不w;rW ”);else Lf(g4.equals(*u)1 OptionPane訪期血砧町己氓口“孑(n1丁門二不ii

8、:r空);elsfintchar c =呂 2 toCharA rey()j forfint 1=0; iJ0,AScEi-9h) elsej-9;double rl=&jr2=0fr3=0;String qlq2,q x ql-textField_3 .getText(); q2=text=iel d_4 .getTextf; ; q5=tcxtField_5 getTe ?ct() 5c ql. toCharArray() j Length*i+)N:else=&:辻。c = q2. taCharArray (forflnt i=O;i= 0 S4cl=9b)elseji林c q3-toC

9、ha rArray(); for(int i-Q;i=0&rlv=4003&r2xe&ir2v40&r?x&=100) return t 廠 ue;elseJOptisnPane.s hm df 5 DI b Wg ( n u 11 ”戍i| P x 壬噩 4100 丈 r ”)JelseDOptionPane .showAfess 口護.口 1 口 0 (i 丨 111學姉方 3守壬旬護 return3.修改學生1)修改學生:輸入學號,查找數據庫,如果存在該學號的學生,就輸出該學生的姓名、學號、性別、班別與成績等信息,并可以進行修改,保存修改時會判斷你修改的信息是否為空,是否合理(如學號不能

10、修改,成績只能0700的 正整數),是的話就修改成功,否的話就修改不成功,并會彈出提示。(2)流程圖是在數據庫里找到該學生,并修改。修改成功(3) 代碼:boolean result = edltstudAntchulif);lf(result)button_7setVlsible(true)j comboBo) c setVisible (true);ccmboBox.setVisibleftruej:textF ield_55etVI5 ible(t ru 亡)JtuxtF ield_4* setvisiblu(true); textF leld_3 * setVLs ible(t rue

11、)j teKtFleld_2, setVislble(true)j textFi&ldl setVisibl&(tfu&) LabelJ& setvisiblettruej; LabEI_9 setVislble(true);Lstsl_S 5ctVi&ible(tFuuiilabel_7n setVlsible(true)label_5.setVisiblejtrue);label_4.setVlsiblejtrue;Label_3.setVisible(true); textField_2 setEnablecl(false); shewstudunt(); )JOptlonPane.nu

12、ll;M-y 乎蘭卞三三*):private void showstlJtlenl() /TOMtextFieLdLI.etrert(stu.get*llneQ) jtextField_2.setText(stu.getStulD();ccmboBoK w 亡 1:5 亡_亡匚土亡 dJ/t 亡 in( wtll1 get5es() j combaBojc I *setSelectedltem(stu. getClassIDf); textFi41d_3-setText(5tu, getNathf) )j textFleLcl_4-srtText(stu. get Language() J;

13、textFleld_5 setText (stULget =Tigll5h();private lbciolAan 已 ditstudentchuli() stu = new Student()jString s textField_6 getTextOi Student&ao dao = new 5tLidentDao(); list = dao readstudent( for(lnt:.size(); i+)if(stugetStulD().ec|uals(s)return true;return false;button_7.addActicnstensr(new ActionLlst

14、ener() public void 3el_2k setText(* &ctTcxt( M十*M+stu * g.e t;Mfstu getStulD();Mfstu kgetS&x()lM-hstu AetCldaaXD() IV M+stD-getMath()J + M+stu- eetLanB.uage(J); private boolean d*l tttudsntchuli () 7 TCDO a stu new Student(); St ring 5 tAXtFlelci_6 EetTAjrt () JStudentDao dao new Studen I Oao()j lis

15、t dao readstudent()j for(int i-9: kllst- slzeO ;i+f) stu-list.get(i); iffstu.getStulD().equals(s) return true;return false;boolean result = delet 巳 EtudtczhLiJLi ()_;iffresultif(5=1buttqn_S setVlsitle(true); shwstudent ();elseluttor_8-setVlsible(False);IblhelALabel- setTextf-label_14. AetTextC*Label

16、_17-setT extjlabellS-SetTextC*1*):Labe9.SEtT4tCyJ; labei220setText(HU);Label J21. setTextC1*):JOpticnPane shopufAEsserjfCi 口 Lc?$( nulld 訊生不 i 忘:button AS .addA u 七 上巳 11 e n 11EW Act ion Listene r ()* public voidacionP 巳 rformed(Act ionEvent e) I; ud 亡 rrtDAo read = new S-tudentaQ () j boolean resu

17、lt = read.deletstudwnti , i tu); if(result)J OptlonPane * shtwttAe s s aye DI. crtogAnull jM,); buttonsksetVisible(false);lblNewLabl setTextJ: l*bel_14. set Text label_17. sctText ( ” ”);| labeLL& setText(d,!)1 la be 1219. setText()l label_2&, setlextf * 必 labeL21. setTexl:A ,BM) jelse):5.查找學生(1)查找學

18、生:輸入學號,查找數據庫,如果存在該學號的學生,就輸岀該學生的姓名、學號、性別、班別與成績等倍息,不存在就提示該學生不存在!(3)代碼boolean result = deletestu dent chill i () j if(res-lllt)(iff 5-1) button_8.setVisibde(true); showstude nitf) jelsetutton_8. setVisible(fa Ise); IblNeNlabel. setText(小): laheVa.setTextf Ji label 17.setText(;亡就laberi9.setText(n );Labe

19、l_21 .setText(*b);J0pticnPane.5hoi-Ae5srrgePiaLo?(nLill?HH);prlvatt void showstudent () / TOGO上就蘭戟務才屯輕也lblfJAuLab&l. setTejrtCAA. M”gt etMarne()label_14. set Textf4AA=* 4-stu .getStulD() jlabel_17. setText(M=.; *hl-1h F+stu -getSex(); label_13, setTextC*Ss: :+ p M+stu getCla&slDC); lateM9 setText(wA

20、*Mtdt-*+* MH-stu. getMath () s label_2ek setText( M+n MAstu.getLanguage()j label-ll. setText(MA*=ffi?t ” + ” M+5tu-getEnglish()5;private boolean deletestudentchuli() TODO um 卞 stu = new Student()String s = textFleld SHgetreirt(); AtudentDao dao = new Studen list dao.readstudent();for(irtills.sze();1

21、+)(5tu=ILst 亡上(1);if(stu.getStulD()_equalA(s) ret iirrii true;)return false;6.刪改查學生(1) 刪改查學生:用戶可以通過輸入姓名、學號、班別和性別來查詢學生成績,如輸入電子1班可以查詢電子1班所有學生的信息(姓名、學號、班別、性別和各科成 績),并把這些學生信息顯示在表格上,每一行顯示一個學生的倍 息。用戶可以修改表格的某一行,或刪除表格的某一行,來實現修改學生和刪除學生。(2) 流程圖(1)(1) 或(2)提示:信息(姓名、性別、學號、班別和成結)不能為牢!提示:不能修改學號,或成績只能是0700的正整數(2) 代

22、碼查找并顯示在表格:丿/皀it歩並button_5.addActionLietener(new A 亡 lLonListener() public void 巳匚 tionPerfocred(ActioriEvent e) sPane.setVlslbleftrue)jStudentDaO dao = new StuderttOac (); list = daO.readstudent(); seach();private void sea ch()String 5tr2=textField_7B II皂七T 皂 irt ();String str 3=textFieid gftTert: (

23、;String str4= (Stzring) cafflboBox_2 getSelectedltem ();String str5=(String) coirtioBox-J getSelectedlt em ();-f or*iiiclist. size() +2; i + )f or( int j=0; j7; j*-H)tatilej. set#刁ue 禹 t ( # h j);fori int l=&t lc=0;size() ;k+)y2=hy3=6,y4=A:5tu=llst,getAi);If(str2 equalsfdiM) | | str2nequals (stu * g

24、etHame () yi-i;If(str3 requalsf | 15tr? equals (stu * getStulD() /2-l if (str4,equalsf d,M) | | str4. equals (stu getSex()if(strS.equal5 (MM)l|str5.equals(5tu.getClasslOf) y4=l; If (yLI-l| |y2l=l| |y3lAl| |y4t=l) con-tlnue;For(lrt j=&;廣)if(j=O) mLdate.setValueAt(stu. getRalre() k, ) else iffj=l)n-_d

25、ate.se tValueAt(5tu.get5tulD()k j); else lf(j2) mdate. setValueAt (stu .grtSex() j kJ j j else if(j=3) m_date.setValueAt(stu. getClassIDf) jkj j); else iffj=4) m_da IValu eAt(stu.ge Vlath()j k,j)j else if(j5)( ir da te* setVsIu tAt(stu. ge tLang.uoalean result = d 日 nc dltstudent (stu) iff resultfal

26、se)result * daoAddstudent(stu);if(result)lOptLonPanescrgeDtLrLog(null telselOptlonPane HshawffesjagfDI atcA(nullbfiir,)學主半Y玄private Irt edit 匚卜 luliO /JTOGO WS:主抵茅方址辛褊5tu = new Student!);Student stul=neA StudefrtOjString c/-,Irt r/,A2=e rltableJ.getSelectedRowf); StudentDao read new StudentDaa(); li

27、st 二 read.readstudent(); double r-7 =0A r8=0? r9=0; fcrAint I+) ml 叫 String) tablel.getValueAt(rlj I); Int j=G;I har c = al.toCharArray(); for(in-t k=O;k-eaack5vrO Doub 一 e HPCITQCPOHfcKao 一二亍 F(_ai euuaM(J-6)Noouble paf.sEDOL&Le a- J J 亍二 r7 - H(m_) r7 - 一3; um)rs 一 一 6 ;(_n ) fJOpUonpane rshowAess

28、AefLO3u= f:味亠Ji Qo;break:Vjf(IJ 人=7VOTI 一 rS 八o-_r3v_EW- FQ-?QV00)Jopaonponc 3h (7jw_【r55crjcpicrtcvA(nu=,22.71r2a“ breakstteV seiNcdeAdJL 二 cvc ifile E2LS-UZ52)二】se i4-(HH2) sru.seTSEXfai); e_se if?vv riiajL; ) e_se jf(一5)( ucH nnguag#(B 二”cFif(lrjf(r2 e一ajlLjfur(_L n 二 HO;=SLSNeoi )AEi!LEgeo=i f (

29、aE g3scTDC) Lrqun)s ( 5tn gets-uoo ) A$S tuMWi Mima (stuh Mdirg 0); re=p rn 1;3n Grc)亠re-urnJOHic,n pane SJTOJrlds- ssagreifogr( n m二 jJrr 4 T” re-us g刪除:/7巴卷學豈butt on _4.3ddActl on Llstener(new ActlonListener() public void 耳 ctionPerformed(ActionEvert 亡)StudentDao rsad = new StudentDao(); list i: r

30、ead.readstudent(); Ent k=table_l.getSelectedRcw();String ss=(StrEn a m_date 呂亡宅 LB L u 亡 At(k. 1);for(int d=O;l:String t2pa&5wordFie.d_2.eA4lAt0iString t3=pa*dField_3String yl,y2;yl-textField .getText();v2=paswordField)iInt j=G;charQ t = tIUCharArrayfJ;forfint kAflik, &k kc 9) 11 (ck-a k町爐 h)|(c町 xA

31、 伽:)j 叫 elsej呦j=6;l =tl.tcCharArrayf);for(iirt kejkc.lngthjk+)專業資料N;elseJ物1F(H(i=e;c = tS.toCiiarArrayO;Fcr(lnt k=9jk=-6*Uck=,a aick- AUclt-r) 冋el5Plf(tl. equals|t2.e4Mnl5CJ|t3.equll5 (VM)J Opt io nP a re r八ag&Dla log (nu 11 j* ? n T A5.9:;elie lf(p=O)Opt i.o nP a re. 5 e/X a Lo hu11 j 世刁 F 圭左蕓了 弋于三

32、盤蘭”):elseIf(yj.equal5(tl6fi: t2,equcil3 (t3)return 1 ;JCp*ifliPanA.Kl dM (A MM 電工機站(nullf 七吿:老總6Else 1A( !t2口equalsICp t i.把student.xml文檔里所有學生及信息讀取出來,保存到public Llst readstudent()List list new ArraAList()i Dozument document;trydccurnnt - XinlUtils.gffrDocuffleQt(AElement root - document bgctRc&tElcmc

33、nt()jList Iist3 root. elefnnts();list new ArrayLlst(); for (Iterator It2-list3.hashlext( A;)(Element student2=(Element) It2.next();List listl studentl.elewntsj foritl =li stl.f)flenent studer t=(Ele*ent) Ltl nextf) Student stu=riew Student(); stu-setNarntfstudentHtlefnentr ngetAext(); stu ettulD(stu

34、d&nt -elementtS-T0) rfle-t Te(); stu. setSe x( st ucient, element) .getTe) rt();stu. 5eiclasslc (Student .element*) hgetTexX(); stu. 5eWuH (student, element CA=M ) .AetTextO);stu. seVleth(student element i Q fetTevt f);stu. setLanguage (student relenent(f,?: aH). getlext() j stu. setEnglish(student.

35、element.getTt();tu);Aretumi list;匚 art ch (Do 匚 umetn 七 EjffmptWckri e ) fIITOOO EAO catch 扶 e. prlntStackTraice();return listj刪除學生public boolean deletstudent(Student s)Document docufflertT; try document = KwIUt II s tDocuFtie/rt ();Element root = document,getRootEI*ffienttAj lAist listl = root.elem

36、entE(J; for(lterator itl= istl.iter 11); it: Lkh & hl 亡)(te printStackTrace () jreturn false;修改學生public boolean edltstudert(Student s)try Dutdmertt docUpent XfilUI L 1A tAE tDuLmrfterl t () j root gatRo4tEItnent()j List liAtl root.elenent5 ();A(lteAator itlxlistl. Iterator(; itl. has Next ();ent) JL

37、 tA.r 叱List Lict2 = student.for(lteraTor lt2-list2.lterator();it2.hasNext();) Element studeirtl-(Eleaent) it2.next();if(5.getStulDf) reqLals(stddentl.elncritC*)rgetText() If (!i bgttCldslD() requals(student.gelNdine() ctudnt xracr( studcntl. clcffcnt( ci) * sctTcxt (s*gctharnc()-t studentl. elementt

38、M*-s ”) 5etText(s.ietStuZD();x tudelvtl. eleaentf ) setText(s.geSu);studentl. elefrent(j *). setlext(sAgetClasslDO); studentl.- elefnent(tTIS ). setrext(s sctTcKt(s gctLAnguage() ”studentl.-elefnent(Ma-irr?*). setTextfl getEngllsht); XmllRils * write2XML( document);return true;增加學生public boolean add

39、 student(Studenttry Document document = XnlUtilE jElement root = document.getRaotElement()ist Listl = root.elements(J;A:rflterator 1A1=151. ite r 曰七口();上 1.-hasNextif);) ELement s tudentz=( EleTent) itl .next () j !F(s*getClasslD() c equals( student, ge tHairef)student = student* addElement ( n);stu

40、dent, add El ementsetText (s getNarre(); students addElementu). setText(5 getStulDf);studentn add El ement (s,) H. setText(5 t gets ex (); student. addElement (Ms#!v) n-setText (s, get 匚 lam slD(); student. addElefnent setText (s , getMima (); student. addEleffuntMJ * setText(s. getMath(); student.

41、aridElentent j * setText(s. get La nguh 呂亡); student. adclEI i: meetr乂若霧云setText(fi. getEngli5-h() jXnnllJtils. write2X7ACAOCk*nt:return rue; catch (Do cumentExcept ion e) / TODO Au o - gen e r a t ed catch blocke printSlackTrace(); catch (10 Exc e pt ion r:)(/TODO AuQ-generated futxh block e printStackTrace(:,return fAlse;查找學生psulit zoolean eachstudefttfString 51 String s2)Dot unent dccumt Ihllttils);Elmtrt roc: = doainent.卿 kvt 巳 n();List Ihtl = root.elementsrJ;for (Iter at: - itl-listldte nator:); itl. h 3 shtxt : )j)Elenfftt itudsrrt=(Eluent) i-LnexrO;List 1 jx t =student.El

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論