




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、成績(jī): 面向?qū)ο笤砼cJava實(shí)踐課程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)1:對(duì)象和類(lèi)姓 名 _ _ 班 級(jí) _ _ 學(xué) 號(hào) _ _ 實(shí)驗(yàn)地點(diǎn) _ _ 實(shí)驗(yàn)時(shí)間 _ _ 指導(dǎo)教師 _ _ 面向?qū)ο笤砼cJava實(shí)踐課程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)1:對(duì)象和類(lèi)一、實(shí)驗(yàn)?zāi)康模簂 掌握類(lèi)的定義及應(yīng)用方法l 掌握對(duì)象的創(chuàng)建方法,了解實(shí)例變量、實(shí)例方法和靜態(tài)字段的特性l 體會(huì)Java在類(lèi)和對(duì)象的設(shè)計(jì)中體現(xiàn)的面向?qū)ο蟮乃枷攵?shí)驗(yàn)要求:l 具備Java基礎(chǔ)知識(shí)(教材第1、2章內(nèi)容)l 掌握J(rèn)ava中對(duì)象和類(lèi)的基本概念和應(yīng)用方法(教材第3章內(nèi)容)l 設(shè)計(jì)類(lèi)時(shí)注意保證類(lèi)的封裝性l 編寫(xiě)程序完成以下實(shí)驗(yàn)內(nèi)容并上交實(shí)驗(yàn)報(bào)告(包括電子文檔與紙質(zhì)文檔)三、
2、實(shí)驗(yàn)內(nèi)容:設(shè)計(jì)并實(shí)現(xiàn)一個(gè)“廣石化院電信學(xué)院學(xué)生通信錄”系統(tǒng)。系統(tǒng)采用字符界面,在出現(xiàn)的主界面中按提示輸入相應(yīng)字符以選擇“增加”、“刪除”、“修改”、“查找”等功能進(jìn)行操作(其中“查找”功能除能夠查找某個(gè)學(xué)生的信息之外,還能夠顯示所有學(xué)生的信息)。記錄的存儲(chǔ)可采用數(shù)組或鏈表的方式。四、設(shè)計(jì)思路: 為了實(shí)現(xiàn)該系統(tǒng),首先要需要兩個(gè)類(lèi);一個(gè)類(lèi)為主界面服務(wù),用于接收用戶輸入信息以及做出相關(guān)反應(yīng);一個(gè)類(lèi)為學(xué)生信息服務(wù),定義學(xué)生通訊錄信息的各個(gè)字段,以及操作字段的各個(gè)方法,考慮到部分字段的屬性問(wèn)題,所以將操作方法都寫(xiě)在學(xué)生類(lèi)中,不再另外放置在其他類(lèi)中。學(xué)生信息將會(huì)采用學(xué)生類(lèi)的對(duì)象數(shù)組來(lái)儲(chǔ)存。5、 程序源代碼
3、:下面是ZhuJieMian 主界面類(lèi)package pkg_TXL;import java.util.Scanner;public class ZhuJieMian /* * * 該類(lèi)為通訊錄系統(tǒng)的主界面提供主要功能顯示,以及負(fù)責(zé)主菜單與子菜單的正常跳轉(zhuǎn) */public static void main(String args) / TODO Auto-generated method stub/XueShengXinXi Stu=ChuShiHua(); /初始化系統(tǒng)數(shù)據(jù)XueShengXinXi Stu=new XueShengXinXi100;Stu0=new XueShengXin
4、Xi("專業(yè)", "班級(jí)", "姓名", "性別", "電話", "家庭住址");Stu1=new XueShengXinXi("自動(dòng)化", "自動(dòng)化10-1", "張三", "男", "63256", "fnhjfdhsdbh");Stu2=new XueShengXinXi("自動(dòng)化", "自動(dòng)化10-2", &q
5、uot;李四", "女", "653256", "nfhggdfddhsdbh");Stu3=new XueShengXinXi("電子", "電子10-1", "王五", "男", "6156", "fnhvjbh");Stu4=new XueShengXinXi("電子", "電子10-2", "小紅", "女", &quo
6、t;63956", "asdfnhjbh");Stu5=new XueShengXinXi("網(wǎng)絡(luò)", "網(wǎng)絡(luò)10-1", "小明", "男", "656", "nfgdgfnhjbh");Stu6=new XueShengXinXi("網(wǎng)絡(luò)", "網(wǎng)絡(luò)10-2", "小芳", "女", "62215", "nfgdmmmdfhbdsh&
7、quot;);Stu7=new XueShengXinXi("計(jì)算機(jī)", "計(jì)算機(jī)10-1", "黃龍", "男", "65584", "bbbdddfnhjbh");Stu8=new XueShengXinXi("計(jì)算機(jī)", "計(jì)算機(jī)10-2", "陳玲", "女", "666114", "mjgfddddfnhjbh");Stu9=new XueShen
8、gXinXi("測(cè)控", "測(cè)控10-1", "趙小斌", "男", "644814", "fthnrehbkjhjbh");Stu10=new XueShengXinXi("測(cè)控", "測(cè)控10-2", "錢(qián)穎", "女", "63641", "dbfsvnnhjbh");Stu11=new XueShengXinXi("電信", &q
9、uot;電信10-1", "孫武", "男", "6321514", "mmhmgvvdfnhjbh");Stu12=new XueShengXinXi("電信", "電信10-2", "李雨", "女", "6314", "43ghffvvdfnhjbh");for(int x=13;x<Stu.length;x+)Stux=new XueShengXinXi();System.
10、out.println("歡迎使用廣石化電信學(xué)院通訊錄系統(tǒng)!");ZhuJieMian: for(int exit=0;exit=0;)/exit為退出主菜單的指示變量,0為不退出,非0為退出System.out.println();System.out.println("*");System.out.println("*主菜單*");System.out.print(" 1。查詢學(xué)生信息tt");System.out.println("2。新增學(xué)生信息");System.out.print(&
11、quot; 3。修改學(xué)生信息tt");System.out.println("4。刪除學(xué)生信息");System.out.print(" 5。恢復(fù)已被刪除信息tt");System.out.println("6。退出");System.out.println("*");System.out.println("*");System.out.print("請(qǐng)選擇你要操作的功能序號(hào):");Scanner scn_input=new Scanner(System.in);S
12、tring XuHao=scn_input.next();System.out.println();if(XuHao.equals("1") /二級(jí)菜單查詢學(xué)生信息select:for(int exit2=0;exit2=0;) /exit為退出二級(jí)菜單的指示變量,0為不退出,非0為退出System.out.println("*");System.out.println("*二級(jí)菜單查詢學(xué)生信息*");System.out.println("*");System.out.println();System.out.p
13、rint("請(qǐng)輸入要查找的關(guān)鍵字(包括專業(yè),班級(jí),姓名等等),輸入“all”顯示全部信息,輸入“back”返回主菜單:");String str_KeyWord=scn_input.next();System.out.println();if(str_KeyWord.equals("all")System.out.println();System.out.println("*學(xué)生通訊錄信息*");XueShengXinXi.Show(Stu);System.out.println();System.out.println();cont
14、inue select;else if(str_KeyWord.equals("back")continue ZhuJieMian;elseint index=XueShengXinXi.Select(str_KeyWord,Stu);if(index0=0)System.out.println("抱歉,沒(méi)有找到關(guān)于“"+str_KeyWord+"”的學(xué)生信息!");System.out.println();continue select;elseSystem.out.println("*學(xué)生通訊錄信息*");Xu
15、eShengXinXi.Show(Stu,index);System.out.println();System.out.println();continue select;else if(XuHao.equals("2") /二級(jí)菜單新增學(xué)生信息insert:for(int exit3=0;exit3=0;)System.out.println();System.out.println("*");System.out.println("*二級(jí)菜單新增學(xué)生信息*");System.out.println("*");S
16、ystem.out.println();System.out.println("請(qǐng)按右邊的格式輸入新增學(xué)生的專業(yè)/班級(jí)/姓名/性別/電話/地址信息(前3項(xiàng)信息必填),輸入“back”返回主菜單:");String str_Stu=scn_input.next();if(str_Stu.equals("")System.out.println("輸入有誤,請(qǐng)重新輸入!");continue insert;else if(str_Stu.equals("back")System.out.println();contin
17、ue ZhuJieMian;elseboolean zuoFei=XueShengXinXi.Insert(Stu, str_Stu);if(zuoFei=true)System.out.println();System.out.println("由于學(xué)生信息必填項(xiàng)信息缺失,所以新增失敗。返回至二級(jí)菜單.");System.out.println();continue insert;elseSystem.out.println();System.out.println("新增成功!返回至二級(jí)菜單.");System.out.println();conti
18、nue insert;/exit3=1;else if(XuHao.equals("3") /二級(jí)菜單修改學(xué)生信息System.out.println("*");System.out.println("*二級(jí)菜單修改學(xué)生信息*");System.out.println("*");System.out.println();System.out.println("*學(xué)生通訊錄信息*");XueShengXinXi.Show(Stu);/System.out.println();update:for(
19、int exit4=0;exit4=0;) /exit為退出二級(jí)菜單的指示變量,0為不退出,非0為退出System.out.println();System.out.print("請(qǐng)輸入要修改的學(xué)生前的序號(hào)(每次只能輸入一個(gè)),輸入“back”返回主菜單:");String str_XuHao=scn_input.next();System.out.println();if(str_XuHao.equals("back")System.out.println();continue ZhuJieMian;elseint id=XueShengXinXi.S
20、tr_Int(Stu,str_XuHao,false);if(id0<Stu.length&id0!=0)System.out.println();/int index=XueShengXinXi.Select_index(Stu, id0);System.out.println("該學(xué)生信息如下:");System.out.print(Stuid0.str_ZhuanYe+"/"+Stuid0.str_BanJi+"/");System.out.print(Stuid0.str_XingMing+"/&quo
21、t;+Stuid0.str_XingBie+"/");System.out.println(Stuid0.str_DianHua+"/"+Stuid0.str_DiZhi);System.out.println("請(qǐng)按以上格式輸入修改后的信息(某一項(xiàng)無(wú)修改的話,則不用輸入):");String str_Stu=scn_input.next();XueShengXinXi.Update(Stuid0, str_Stu);System.out.println("修改成功!已返回二級(jí)菜單");System.out.pri
22、ntln();System.out.println("*");System.out.println("*二級(jí)菜單修改學(xué)生信息*");System.out.println("*");System.out.println();System.out.println("*學(xué)生通訊錄信息*");XueShengXinXi.Show(Stu);continue update;elseSystem.out.println("輸入有誤!已返回至二級(jí)菜單");continue update;/exit4=1;el
23、se if(XuHao.equals("4") /二級(jí)菜單刪除學(xué)生信息System.out.println("*");System.out.println("*二級(jí)菜單刪除學(xué)生信息*");System.out.println("*");System.out.println();System.out.println("*學(xué)生通訊錄信息*");XueShengXinXi.Show(Stu);delete:for(int exit5=0;exit5=0;) /exit為退出二級(jí)菜單的指示變量,0為不退
24、出,非0為退出System.out.println();/System.out.println("*二級(jí)菜單刪除學(xué)生信息*");System.out.print("請(qǐng)輸入要?jiǎng)h除的學(xué)生信息前的序號(hào)(輸入多個(gè)序號(hào)時(shí)用/隔開(kāi)),輸入“all”刪除全部信息,輸入“back”返回主菜單:");String str_xuHao=scn_input.next();System.out.println();if(str_xuHao.equals("back")System.out.println();continue ZhuJieMian;else
25、if(str_xuHao.equals("all")XueShengXinXi.Delete_All(Stu);System.out.println("全部數(shù)據(jù)已被刪除,已返回主菜單。");/XueShengXinXi.Show(Stu);continue ZhuJieMian;elseint id=XueShengXinXi.Str_Int(Stu,str_xuHao,false);if(id0<Stu.length)/System.out.println();XueShengXinXi.Delete_index(Stu, id);/System
26、.out.println("刪除成功!已返回二級(jí)菜單");System.out.println();System.out.println("*");System.out.println("*二級(jí)菜單刪除學(xué)生信息*");System.out.println("*");System.out.println();System.out.println();System.out.println("*學(xué)生通訊錄信息*");XueShengXinXi.Show(Stu);continue delete;els
27、eSystem.out.println("輸入有誤!已返回至二級(jí)菜單");continue delete;/exit5=1;else if(XuHao.equals("5") /二級(jí)菜單恢復(fù)已被刪除信息System.out.println("*");System.out.println("*二級(jí)菜單恢復(fù)已被刪除信息*");System.out.println("*");System.out.println();System.out.println("*回收站信息*");boo
28、lean bol=XueShengXinXi.Show_Del(Stu);if(bol=true)System.out.println();System.out.println("回收站為空,目前沒(méi)有被刪除的信息!已返回至主菜單。");continue ZhuJieMian;elserecover:for(int exit6=0;exit6=0;) /exit為退出二級(jí)菜單的指示變量,0為不退出,非0為退出System.out.println();/System.out.println("*二級(jí)菜單刪除學(xué)生信息*");System.out.print(&
29、quot;請(qǐng)輸入要恢復(fù)的信息的序號(hào)(輸入多個(gè)序號(hào)時(shí)用/隔開(kāi)),輸入“all”恢復(fù)全部信息,輸入“back”返回主菜單:");String str_xuHao=scn_input.next();System.out.println();if(str_xuHao.equals("back")System.out.println();continue ZhuJieMian;else if(str_xuHao.equals("all")XueShengXinXi.Recover_All(Stu);System.out.println("全部恢
30、復(fù)完畢!已返回主菜單。");continue ZhuJieMian;elseint id=XueShengXinXi.Str_Int(Stu,str_xuHao,true);if(id0<Stu.length)/System.out.println();XueShengXinXi.Recover_index(Stu, id);/System.out.println("刪除成功!已返回二級(jí)菜單");System.out.println();System.out.println("*");System.out.println("*二
31、級(jí)菜單恢復(fù)已被刪除信息*");System.out.println("*");System.out.println();System.out.println();System.out.println("*回收站信息*");XueShengXinXi.Show_Del(Stu);continue recover;elseSystem.out.println("輸入有誤!已返回至二級(jí)菜單");continue recover;else if(XuHao.equals("6")break ZhuJieMian;
32、elseSystem.out.println("輸入有誤,已返回主菜單!");System.out.println();continue ZhuJieMian;/exit=1;下面是XueShengXinXi 學(xué)生信息類(lèi)package pkg_TXL;public class XueShengXinXi String str_ZhuanYe=""String str_BanJi=""/String str_XueHao=""String str_XingMing=""String str_Xin
33、gBie=""String str_DianHua=""String str_DiZhi=""Boolean bol_ZuoFei=true;/String str_ID=""int int_ID=0;XueShengXinXi()/有參構(gòu)造方法public XueShengXinXi(String ZhuanYe,String BanJi,String XingMing,String XingBie,String DianHua,String DiZhi)str_ZhuanYe=ZhuanYe;str_BanJi
34、=BanJi;str_XingMing=XingMing;str_XingBie=XingBie;str_DianHua=DianHua;str_DiZhi=DiZhi;bol_ZuoFei=false;/新增學(xué)生信息的函數(shù)public static boolean Insert(XueShengXinXi stu,String str_stu)int i=0;for(;i<stu.length;i+)if(stui.bol_ZuoFei=true)break;stui.str_ZhuanYe=""stui.str_BanJi=""stui.str
35、_XingMing=""stui.str_XingBie=""stui.str_DianHua=""stui.str_DiZhi=""int k=0;for(int j=1;j<=str_stu.length();j+)if(str_stu.substring(j-1, j).equals("/")k+=1;/index=j;else/System.out.println(k);if(k=0)/stui.str_ZhuanYe=str_stu.substring(index, j);stu
36、i.str_ZhuanYe=stui.str_ZhuanYe+str_stu.substring(j-1, j);else if(k=1)/stui.str_BanJi=str_stu.substring(index, j);stui.str_BanJi=stui.str_BanJi+str_stu.substring(j-1, j);else if(k=2)/stui.str_XingMing=str_stu.substring(index, j);stui.str_XingMing=stui.str_XingMing+str_stu.substring(j-1, j);else if(k=
37、3)/stui.str_XingBie=str_stu.substring(index, j);stui.str_XingBie=stui.str_XingBie+str_stu.substring(j-1, j);else if(k=4)/stui.str_DianHua=str_stu.substring(index, j);stui.str_DianHua=stui.str_DianHua+str_stu.substring(j-1, j);else if(k=5)/stui.str_DiZhi=str_stu.substring(index, j);stui.str_DiZhi=stu
38、i.str_DiZhi+str_stu.substring(j-1, j);if(stui.str_ZhuanYe.equals("")|stui.str_BanJi.equals("")|stui.str_XingMing.equals("")stui.bol_ZuoFei=true;stui.str_ZhuanYe=""stui.str_BanJi=""stui.str_XingMing=""stui.str_XingBie=""stui.str_Di
39、anHua=""stui.str_DiZhi=""elsestui.bol_ZuoFei=false;return stui.bol_ZuoFei;public static void Show(XueShengXinXi stu) /格式化的輸出全部學(xué)生的信息int col=new int6; /定義六個(gè)int類(lèi)型變量,分別存儲(chǔ)六列寬度f(wàn)or(int x=0;x<col.length;x+)colx=0;for(int j=0;j<stu.length;j+) /第一步,獲取全部列的最大寬度if(stuj.str_ZhuanYe.lengt
40、h()>col0&stuj.bol_ZuoFei=false)col0=stuj.str_ZhuanYe.length();if(stuj.str_BanJi.length()>col1&stuj.bol_ZuoFei=false)col1=stuj.str_BanJi.length();if(stuj.str_XingMing.length()>col2&stuj.bol_ZuoFei=false)col2=stuj.str_XingMing.length();if(stuj.str_XingBie.length()>col3&stuj
41、.bol_ZuoFei=false)col3=stuj.str_XingBie.length();if(stuj.str_DianHua.length()>col4&stuj.bol_ZuoFei=false)col4=stuj.str_DianHua.length();if(stuj.str_DiZhi.length()>col5&stuj.bol_ZuoFei=false)col5=stuj.str_DiZhi.length();for(int i=0;i<col.length;i+) /第二步,將最大寬度加上6,得到實(shí)際寬度coli=coli+6;for
42、(int k=0;k<stu.length;k+) /第三步,將實(shí)際寬度減去字符長(zhǎng)度得到空字符長(zhǎng)度/stuk.ID=" "+k;/stuk.str_ID=Integer.toString(k);_ID=k;/System.out.println(stuk.ID);if(k=0)System.out.print("t"+GetSpace(stuk.str_ZhuanYe,col0);System.out.print(GetSpace(stuk.str_BanJi,col1);System.out.print(GetSpace(stuk
43、.str_XingMing,col2);System.out.print(GetSpace(stuk.str_XingBie,col3);System.out.print(GetSpace(stuk.str_DianHua,col4);System.out.println(GetSpace(stuk.str_DiZhi,col5);/for(int l=0;l<col0+col1+col2+col3+col4+col5+5;l+)/System.out.print("");/for(int l=0;l<6*4;l+)System.out.print("
44、");System.out.println("");else if(k>0&k<10&stuk.bol_ZuoFei=false)System.out.print(k+"t"+GetSpace(stuk.str_ZhuanYe,col0);System.out.print(GetSpace(stuk.str_BanJi,col1);System.out.print(GetSpace(stuk.str_XingMing,col2);System.out.print(GetSpace(stuk.str_XingBie,c
45、ol3);System.out.print(GetSpace(stuk.str_DianHua,col4);System.out.println(GetSpace(stuk.str_DiZhi,col5);else if(k>=10&stuk.bol_ZuoFei=false)System.out.print(k+"t"+GetSpace(stuk.str_ZhuanYe,col0);System.out.print(GetSpace(stuk.str_BanJi,col1);System.out.print(GetSpace(stuk.str_XingMin
46、g,col2);System.out.print(GetSpace(stuk.str_XingBie,col3);System.out.print(GetSpace(stuk.str_DianHua,col4);System.out.println(GetSpace(stuk.str_DiZhi,col5);private static String GetSpace(String str,int len) /根據(jù)每個(gè)字符不同加制表符/*String space=""if(len>=str.length()for(int i=0;i<len-str.length();i+)space=space+" "return str+'t'+'t'elser
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年硅膠片材項(xiàng)目投資可行性研究分析報(bào)告
- 全包合同范本
- 動(dòng)漫城裝修項(xiàng)目包干價(jià)協(xié)議
- 2024年安徽六安農(nóng)商銀行社會(huì)招聘考試真題
- 2025-2030年中國(guó)箱車(chē)配件行業(yè)深度研究分析報(bào)告
- 2025年度學(xué)校安全文化建設(shè)責(zé)任協(xié)議
- 2025年度智慧社區(qū)物業(yè)保安勞務(wù)管理合同樣本
- 2025年度個(gè)人購(gòu)房借款合同(含物業(yè)管理費(fèi)及裝修貸款)
- 科技人才培育與科研誠(chéng)信建設(shè)的聯(lián)動(dòng)機(jī)制研究
- 2025年度房屋買(mǎi)賣(mài)合同撤銷(xiāo)條件下的法律援助與合同解除服務(wù)協(xié)議
- 高三一模“生存與強(qiáng)弱關(guān)系思辨”審題立意及范文
- 2025年茂名市高三年級(jí)第一次綜合測(cè)試(一模)物理試卷(含答案)
- 2025年重癥醫(yī)學(xué)科(ICU)護(hù)理工作計(jì)劃
- 四川省名校2025屆高三第二次模擬考試英語(yǔ)試卷含解析
- 2024各科普通高中課程標(biāo)準(zhǔn)
- 中小學(xué)校園課間時(shí)間巡查工作方案
- 《垂體瘤規(guī)范化診治》課件
- 早產(chǎn)臨床防治指南(2024版)解讀
- 艾草種植基地合同(2篇)
- GB/T 30661.10-2024輪椅車(chē)座椅第10部分:體位支撐裝置的阻燃性要求和試驗(yàn)方法
- 空調(diào)制冷管道施工協(xié)議
評(píng)論
0/150
提交評(píng)論