2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì)</p><p><b> ?。〝?shù)據(jù)結(jié)構(gòu))</b></p><p>  一、題目的目的和要求</p><p><b>  1.設(shè)計(jì)目的</b></p><p>  鞏固和加深對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,通過上機(jī)實(shí)驗(yàn)、調(diào)試程序,加深對(duì)課本知識(shí)的理解,最終使學(xué)生能夠熟練應(yīng)

2、用數(shù)據(jù)結(jié)構(gòu)的知識(shí)寫程序。</p><p> ?。?)通過本課程的學(xué)習(xí),能熟練掌握幾種基本數(shù)據(jù)結(jié)構(gòu)的基本操作。</p><p> ?。?)能針對(duì)給定題目,選擇相應(yīng)的數(shù)據(jù)結(jié)構(gòu),分析并設(shè)計(jì)算法,進(jìn)而給出問題的正確求解過程并編寫代碼實(shí)現(xiàn)。</p><p><b>  2.設(shè)計(jì)題目要求</b></p><p>  設(shè)計(jì)內(nèi)容:本系統(tǒng)

3、應(yīng)完成以下幾方面的功能:</p><p>  學(xué)生信息的建立:create();</p><p>  學(xué)生信息的插入:insert();</p><p>  學(xué)生信息的查詢:search();</p><p>  學(xué)生信息的修改:change();</p><p>  學(xué)生信息的刪除:delete();</p&g

4、t;<p>  學(xué)生信息的輸出:print()。</p><p><b>  設(shè)計(jì)要求:</b></p><p> ?。?)每條記錄至少包含 :姓名(name )、(xuehao),(kemu),(chengji)屬性。</p><p> ?。?)作為一個(gè)完整的系統(tǒng),應(yīng)具有友好的界面和較強(qiáng)的容錯(cuò)能力</p><

5、p> ?。?)程序能正常運(yùn)行,并寫出課程設(shè)計(jì)報(bào)告</p><p>  二、設(shè)計(jì)進(jìn)度及完成情況</p><p>  三、主要參考文獻(xiàn)及資料</p><p>  [1] 葉核亞編著. 數(shù)據(jù)結(jié)構(gòu)(Java版)(第3版). 北京:電子工業(yè)出版社,2011</p><p>  [2] 施平安等譯. JAVA程序設(shè)計(jì)教程(第5版). 北京:清華大學(xué)

6、出版社,2007</p><p>  [3] Java相關(guān)資料</p><p><b>  四、成績(jī)?cè)u(píng)定</b></p><p>  設(shè)計(jì)成績(jī): (教師填寫)</p><p>  指導(dǎo)老師: (簽字)</p><p><b&

7、gt;  目 錄</b></p><p>  第一章 系統(tǒng)概述1</p><p>  第二章 系統(tǒng)分析1</p><p>  第三章 系統(tǒng)設(shè)計(jì)2</p><p>  第四章 系統(tǒng)實(shí)現(xiàn)9</p><p>  第五章 系統(tǒng)運(yùn)行與測(cè)試9</p><p>  第六章 總結(jié)與心得

8、12</p><p><b>  參考文獻(xiàn)13</b></p><p><b>  第一章 系統(tǒng)概述</b></p><p>  在這次的課程設(shè)計(jì)中我們選擇的題目是:學(xué)生信息系統(tǒng),能夠添加、刪除、查詢聯(lián)系人等。 由于自己的 知識(shí)有限,程序可能不是太完美,但是我會(huì)認(rèn)真對(duì)待,盡自己最大女里去完成此次任務(wù)?。。?lt;/p&g

9、t;<p><b>  第二章 系統(tǒng)分析</b></p><p>  學(xué)生信息系統(tǒng)主要用于幫助用戶保存學(xué)生信息,方便用戶查詢聯(lián)系人的相關(guān)信息。同時(shí)應(yīng)該具備添加、修改、刪除等基本功能。</p><p>  每個(gè)學(xué)生有哪些基本屬性?</p><p>  我定義了4個(gè):(name,xuehao,kemu,chengji)</p&g

10、t;<p><b>  2.學(xué)生信息的建立</b></p><p>  在學(xué)生信息的建立階段,要求能一次創(chuàng)建多條記錄。 </p><p>  3. 學(xué)生信息的插入</p><p>  用戶選擇插入記錄時(shí)系統(tǒng)需判斷該記錄是否已存在,如果存在則不能插入。在此為了簡(jiǎn)化實(shí)現(xiàn),約定通訊錄中的name不能重復(fù)、xuehao不能重復(fù)。</

11、p><p>  4. 學(xué)生信息的查詢</p><p>  要求用戶能夠根據(jù)name,xuehao進(jìn)行查詢,不論成功與否都應(yīng)該有相應(yīng)反饋信息。為了簡(jiǎn)化實(shí)現(xiàn),只做精確查詢。</p><p>  5. 學(xué)生信息的修改</p><p>  允許用戶修改某一通訊記錄,修改成功與否要有相應(yīng)提示。</p><p>  6. 學(xué)生信息的刪

12、除</p><p>  用戶查找到某個(gè)記錄時(shí)允許刪除該記錄。沒有找到則提示用戶。</p><p>  7. 學(xué)生信息的輸出</p><p>  要求用戶以xuehao順序?yàn)樾蝻@示學(xué)生信息中的所有記錄。如果系統(tǒng)中無(wú)記錄則應(yīng)該提示用戶。</p><p><b>  第三章 系統(tǒng)設(shè)計(jì)</b></p><p&

13、gt;  學(xué)生信息系統(tǒng)的設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,它是一種逐步求精的設(shè)計(jì)程序的方法和過程,即對(duì)要完成的任務(wù)進(jìn)行分解,先對(duì)最高層次中的問題進(jìn)行定義、設(shè)計(jì),然后把其中未解決的問題作為一個(gè)子任務(wù)放到下層中去求解,這樣逐層、逐個(gè)進(jìn)行定義、設(shè)計(jì),直到所有層上的問題解決為止。</p><p>  因此,為了實(shí)現(xiàn)完整的學(xué)生信息系統(tǒng)功能,首先設(shè)計(jì)學(xué)生信息系統(tǒng)的各個(gè)功能模塊。</p><p>  1.通訊

14、錄系統(tǒng)的整體設(shè)計(jì)</p><p>  通訊錄系統(tǒng)主要包括通訊錄的建立、插入、查詢、修改、刪除、輸出、退出系統(tǒng)等功能,功能模塊圖如下所示:</p><p><b> ?。?)功能菜單設(shè)計(jì)</b></p><p>  為了方便用戶在使用系統(tǒng)時(shí)進(jìn)行功能選擇,可以設(shè)計(jì)成如下菜單的形式提示用戶選擇要執(zhí)行的操作。</p><p>&

15、lt;b>  1-學(xué)生信息的建立</b></p><p><b>  2-學(xué)生信息的插入</b></p><p><b>  3-學(xué)生信息的查詢</b></p><p><b>  4學(xué)生信息的修改</b></p><p><b>  5-學(xué)生信息的

16、刪除</b></p><p><b>  6-學(xué)生信息的輸出</b></p><p><b>  0-退出系統(tǒng)</b></p><p>  請(qǐng)選擇操作序號(hào)(0-6):</p><p>  在此可以設(shè)計(jì)一個(gè)menu_select()方法供用戶選擇某一菜單項(xiàng)。該方法設(shè)計(jì)如下:</p&g

17、t;<p>  private static int menu_select()//選擇菜單序號(hào)</p><p><b>  {</b></p><p>  System.out.println("===============");</p><p>  System.out.println("1-

18、學(xué)生信息的建立");</p><p>  System.out.println("2-學(xué)生信息的插入");</p><p>  System.out.println("3-學(xué)生信息的查詢");</p><p>  System.out.println("4-學(xué)生信息的修改");</p>

19、<p>  System.out.println("5-學(xué)生信息的刪除");</p><p>  System.out.println("6-學(xué)生信息的輸出");</p><p>  System.out.println("0-退出系統(tǒng)");</p><p>  System.out.pri

20、ntln("===============");</p><p>  System.out.println("請(qǐng)選擇操作序號(hào)(0-6):");</p><p>  Scanner scanner=new Scanner(System.in);</p><p>  int i=scanner.nextInt();</p&g

21、t;<p>  while(i<0||i>6){</p><p>  System.out.println("必須輸入0-6之間的數(shù)據(jù),請(qǐng)重新輸入");</p><p>  i=scanner.nextInt();</p><p><b>  }</b></p><p>&l

22、t;b>  return i;</b></p><p><b>  }</b></p><p>  該方法要求用戶輸入0到6之間的某個(gè)序號(hào),對(duì)應(yīng)選擇某個(gè)菜單項(xiàng),如果輸入其它的數(shù),將提示再次輸入合法序號(hào)。</p><p>  (2)菜單選擇需能夠循環(huán)執(zhí)行</p><p>  用戶進(jìn)入系統(tǒng)后,可能需要反復(fù)不

23、斷地調(diào)用系統(tǒng)的各個(gè)功能,因此需要實(shí)現(xiàn)菜單選擇的循環(huán)執(zhí)行,可以通過循環(huán)語(yǔ)句控制反復(fù)調(diào)用各個(gè)菜單項(xiàng)。</p><p>  while(true)</p><p>  switch(menu_select()){</p><p><b>  case 1:{</b></p><p>  System.out.println(&

24、quot;開始建立學(xué)生信息......");</p><p>  //調(diào)用相關(guān)操作實(shí)現(xiàn)通訊錄的建立</p><p>  System.out.println("學(xué)生信息創(chuàng)建完畢!");</p><p><b>  break;</b></p><p><b>  }</b&g

25、t;</p><p><b>  case 2:{</b></p><p>  System.out.println("學(xué)生信息的插入:");</p><p>  //調(diào)用相關(guān)操作實(shí)現(xiàn)通訊錄的插入</p><p><b>  break;</b></p><p

26、><b>  }</b></p><p><b>  case 3:{</b></p><p>  System.out.println("學(xué)生信息的查詢:");</p><p>  //調(diào)用相關(guān)操作實(shí)現(xiàn)通訊錄的查詢</p><p><b>  break;<

27、;/b></p><p><b>  }</b></p><p><b>  case 4:{</b></p><p>  System.out.println("學(xué)生信息的修改:");</p><p>  //調(diào)用相關(guān)操作實(shí)現(xiàn)通訊錄的修改</p><p

28、><b>  break;</b></p><p><b>  }</b></p><p><b>  case 5:{</b></p><p>  System.out.println("學(xué)生信息的刪除:");</p><p>  //調(diào)用相關(guān)操作實(shí)

29、現(xiàn)通訊錄的刪除</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 6:{</b></p><p>  System.out.println("學(xué)生信息的輸出:");</p&g

30、t;<p>  //調(diào)用相關(guān)操作實(shí)現(xiàn)通訊錄的輸出</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 0:{</b></p><p>  System.out.println("

31、再見!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  在這里通過switch語(yǔ)句判斷用戶的菜單選項(xiàng),根據(jù)相應(yīng)選擇實(shí)現(xiàn)學(xué)生信息的某個(gè)功能,只要不退出系統(tǒng),可

32、以借助while語(yǔ)句繼續(xù)選擇執(zhí)行某個(gè)功能。</p><p>  2.通訊錄系統(tǒng)的各個(gè)功能設(shè)計(jì)</p><p>  在通訊錄系統(tǒng)的整體設(shè)計(jì)中我們僅僅列出了系統(tǒng)需要實(shí)現(xiàn)的功能,并沒有給出具體設(shè)計(jì),現(xiàn)針對(duì)其各個(gè)功能進(jìn)行設(shè)計(jì)。</p><p> ?。?)學(xué)生信息的建立(create()方法的設(shè)計(jì))</p><p>  建立通訊錄時(shí)允許逐個(gè)錄入多條通訊

33、錄記錄,錄完一個(gè),有相應(yīng)提示詢問是否繼續(xù)錄入。</p><p>  public void create() </p><p><b>  {</b></p><p>  String flag="y";</p><p>  while(flag.equalsIgnoreCase("y&

34、quot;)){</p><p>  //在此調(diào)用insert()操作錄入一條記錄</p><p>  System.out.println("繼續(xù)輸入嗎?(y/n):");</p><p>  Scanner sc=new Scanner(System.in);</p><p>  flag=sc.next();<

35、/p><p><b>  }</b></p><p><b>  }</b></p><p>  如何錄入一條記錄需要調(diào)用學(xué)生信息的插入insert()操作來(lái)完成的(insert()如何設(shè)計(jì)參看后續(xù)代碼)。</p><p>  (2)學(xué)生信息的插入(insert()方法的設(shè)計(jì))</p>&

36、lt;p>  向通訊錄中插入一條記錄的設(shè)計(jì)如下:首先讀入一條記錄的信息(包括姓名和電話號(hào)碼);接下來(lái)判斷記錄是否已經(jīng)存在(在這里要求name和xuehao都不能重復(fù)),若存在,則提示插入失?。∪舨淮嬖?,則調(diào)用有序順序表list的插入操作(至于如何設(shè)計(jì)參見后續(xù)內(nèi)容)插入一條記錄。</p><p>  public void insert()//插入一條記錄</p><p><b&

37、gt;  {</b></p><p>  String name,xuehao,kemu,chengji;</p><p>  GuanLiXinXi tbe1,tbe2;</p><p>  Scanner sc=new Scanner(System.in);</p><p>  System.out.println("

38、;請(qǐng)輸入一條記錄,name,xuehao,kemu,chengji :");</p><p>  name = sc.next();</p><p>  xuehao=sc.next();</p><p>  kemu = sc.next();</p><p>  chengji=sc.next();</p><

39、p>  for(int i=0;i<list.length();i++){</p><p>  tbe1=list.get(i);</p><p>  if(tbe1.getName().equals(name)||tbe1.getXuehao().equals(xuehao)){</p><p>  System.out.println("該

40、記錄已存在,插入失??!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  tbe2=new GuanLiXinXi(name,xuehao,kemu,cheng

41、ji);</p><p>  list.insert(tbe2);</p><p>  System.out.println("插入成功!學(xué)生信息如下:");</p><p>  this.print();</p><p>  }(3)學(xué)生信息的查詢(search()方法的設(shè)計(jì))</p><p> 

42、 在通訊錄中查找一條記錄的設(shè)計(jì)如下:根據(jù)用戶的需要,我們?cè)试S用戶既可以依據(jù)name查詢,又可以根據(jù)xuehao查詢。查詢到該記錄則輸出該記錄并返回記錄在有序順序表list中的位置,否則返回-1。</p><p>  public int search()//查詢一條記錄</p><p><b>  {</b></p><p>  String

43、 str;</p><p>  GuanLiXinXi tbe;</p><p>  System.out.println("############");</p><p>  System.out.println("1-按name查詢");</p><p>  System.out.println(&

44、quot;2-按xuehao查詢:");</p><p>  System.out.println("############");</p><p>  System.out.println("請(qǐng)選擇(1或2):");</p><p>  Scanner sc=new Scanner(System.in);</

45、p><p>  int j=sc.nextInt();</p><p>  while(j<1||j>2){</p><p>  System.out.println("選擇的序號(hào)不正確,請(qǐng)?jiān)俅芜x擇(1或2):");</p><p>  j=sc.nextInt();</p><p><

46、;b>  }</b></p><p><b>  if(j==1){</b></p><p>  System.out.println("請(qǐng)輸入name:");</p><p>  str=sc.next();</p><p>  for(int i=0;i<list.leng

47、th();i++){</p><p>  tbe=list.get(i);</p><p>  if(tbe.getName().equals(str)){</p><p>  System.out.println("name"+"\t\t"+"xuehao"+"\t\t"+"

48、kemu"+"\t\t"+"chengji");</p><p>  System.out.println("-----------------------------------------------------");</p><p>  System.out.println(tbe.toString());<

49、/p><p>  System.out.println("-----------------------------------------------------");</p><p><b>  return i;</b></p><p><b>  }</b></p><p>

50、<b>  }</b></p><p><b>  }</b></p><p><b>  else{</b></p><p>  System.out.println("請(qǐng)輸入xuehao:");</p><p>  str=sc.next();&l

51、t;/p><p>  for(int i=0;i<list.length();i++){</p><p>  tbe=list.get(i);</p><p>  if(tbe.getXuehao().equals(str)){</p><p>  System.out.println(tbe.toString());</p>

52、<p><b>  return i;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  return -1;</p><p

53、>  }(4)學(xué)生信息的修改(change()方法的設(shè)計(jì))</p><p>  修改學(xué)生信息記錄的設(shè)計(jì)是:首先調(diào)用search()操作查詢,如果沒有查詢到則不用修改,否則開始修改,修改記錄時(shí)要避免出現(xiàn)name或xuehao重復(fù)的情況。</p><p>  public void change()//修改一條記錄</p><p><b>  {<

54、;/b></p><p>  int k=this.search();</p><p><b>  if(k==-1)</b></p><p>  System.out.println("要修改的記錄不存在!");</p><p><b>  else{</b></p

55、><p>  String name,xuehao,kemu ,chengji;</p><p>  GuanLiXinXi tbe1,tbe2;</p><p>  Scanner sc=new Scanner(System.in);</p><p>  System.out.println("請(qǐng)輸入新的name和xuehao....

56、:");</p><p>  name = sc.next();</p><p>  xuehao=sc.next();</p><p>  kemu = sc.next();</p><p>  chengji=sc.next();</p><p>  for(int i=0;i<list.len

57、gth();i++){</p><p>  tbe1=list.get(i);</p><p>  if(tbe1.getName().equals(name)||tbe1.getXuehao().equals(xuehao)){</p><p>  System.out.println("該記錄已經(jīng)存在,修改失?。?quot;);</p>

58、<p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  tbe2=new GuanLiXinXi(name,xuehao,kemu,chengji);</p><p>  list

59、.set(k, tbe2);</p><p>  System.out.println("修改成功!");</p><p>  this.print();</p><p><b>  }</b></p><p>  }(5)通訊錄的刪除(delete()方法的設(shè)計(jì))</p><p&

60、gt;  刪除通訊錄記錄的設(shè)計(jì)是:首先調(diào)用search()操作查詢,如果沒有查詢到則不用刪除,否則調(diào)用有序順序表list的刪除操作(至于如何設(shè)計(jì)參見后續(xù)內(nèi)容)刪除一條記錄。</p><p>  public void delete()//刪除一條記錄</p><p><b>  {</b></p><p>  int i=this.searc

61、h();</p><p><b>  if(i==-1)</b></p><p>  System.out.println("要?jiǎng)h除的記錄不存在!");</p><p><b>  else{</b></p><p>  list.remove(i);</p>&l

62、t;p>  System.out.println("刪除成功!");</p><p>  this.print();</p><p><b>  }</b></p><p><b>  }</b></p><p>  (6)通訊錄的輸出(print()方法的設(shè)計(jì))</

63、p><p>  通訊錄的輸出通過循環(huán)輸出有序順序表中的所有元素即可。</p><p>  public void print()//輸出通信錄所有記錄</p><p><b>  {</b></p><p>  System.out.println("姓名"+"\t\t"+"

64、;電話號(hào)碼");</p><p>  System.out.println("---------------------------");</p><p>  if(list.length()==0)</p><p>  System.out.println("通訊錄為空!");</p><p&g

65、t;<b>  else</b></p><p>  for(int i=0;i<list.length();i++){</p><p>  System.out.println(list.get(i).toString());</p><p>  System.out.println("--------------------

66、-------");</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.有序順序表list的設(shè)計(jì)(雙鏈表中間不太會(huì)寫,所以用了順序表,希望老師理解)</p><p>  從上述學(xué)生信息的各個(gè)功能模塊的設(shè)計(jì)來(lái)看,我們需要借助一個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)

67、完成所有學(xué)生信息記錄的存儲(chǔ),在此選擇簡(jiǎn)單、快捷的有序順序表來(lái)完成設(shè)計(jì)。</p><p>  有序順序表,顧名思義,要求該順序表中的所有元素按照元素值大小有序。這就要求向順序表中插入元素或修改元素值時(shí)注意保持順序表元素值的有序性,因此問題的關(guān)鍵是順序表的插入操作和修改操作設(shè)計(jì),現(xiàn)給出這兩種操作的設(shè)計(jì),其他操作跟普通順序表一致,不再贅述。</p><p> ?。?)有序順序表的插入(inser

68、t()方法的設(shè)計(jì))</p><p>  有序順序表的插入元素之前需要判斷容器(element數(shù)組)是否滿,如果滿則先擴(kuò)充容量。插入元素x時(shí)需從順序表的尾部開始跟已有元素進(jìn)行比較,邊比較邊后移元素,最后找到插入的位置,把元素x放置進(jìn)來(lái)即可。</p><p>  public void insert(T x) //順序表的插入操作,插入之后需要有序。 </p><p&g

69、t;  { </p><p>  if (x==null)</p><p>  return; </p><p>  if (this.len==element.length) //如果順序表滿,進(jìn)行容量擴(kuò)充。 </p><p><b>

70、;  {</b></p><p>  Object[] temp = this.element; </p><p>  this.element = new Object[temp.length*2]; </p><p>  for (int j=0; j<temp.length; j++) </p><

71、p>  this.element[j] = temp[j];</p><p><b>  } </b></p><p><b>  int j;</b></p><p>  for (j=this.len-1; j>=0&&x.compareTo(this.element[j])<0; j

72、--) </p><p>  this.element[j+1]=this.element[j];</p><p>  this.element[j+1] = x;</p><p>  this.len++; </p><p><b>  }</b></p><p> ?。?)有序順序表的置

73、值(set()方法的設(shè)計(jì))</p><p>  有序順序表的置值操作設(shè)計(jì)是:首先對(duì)i號(hào)位置的元素值進(jìn)行修改,然后借助直接插入排序算法把順序表中的元素重新排成升序。</p><p>  public void set(int i,T x) //順序表的置值操作,置值之后需要排序。 </p><p>  {

74、 </p><p>  if (i>=0 && i<this.len){</p><p>  this.element[i]=x; </p><p>  for (int k=1; k<this.len; k++) //使用直接插入排序算法進(jìn)行排序 </p><p&g

75、t;<b>  {</b></p><p><b>  int j;</b></p><p>  T temp=(T)this.element[k]; </p><p>  for (j=k-1; j>=0 && temp.compareTo(this.

76、element[j])<0; j--) </p><p>  this.element[j+1] = this.element[j];</p><p>  this.element[j+1] = temp; </p><p><b>  } </b></p>

77、<p><b>  }</b></p><p> ?。?)學(xué)生成績(jī)的平均數(shù)</p><p>  public void avg(){</p><p>  System.out.println("avg=");</p><p><b>  }</b></p>

78、<p> ?。?)把學(xué)生的成績(jī)分為5 個(gè)等級(jí)</p><p>  即是:A,B,C,D,E</p><p>  利用public void dengji(){</p><p>  /*switch () {</p><p><b>  case 1:</b></p><p>  S

79、ystem.out.println("A");</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  System.out.println("B");</p><p><b>  b

80、reak;</b></p><p><b>  case 3:</b></p><p>  System.out.println("C");</p><p><b>  break;</b></p><p><b>  case 4:</b>&l

81、t;/p><p>  System.out.println("D");</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  System.out.println("E");</p>

82、<p><b>  break;</b></p><p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }*/</b></p><p><b>  }</b&

83、gt;</p><p>  4.學(xué)生信息錄的設(shè)計(jì)</p><p>  本系統(tǒng)要求每條學(xué)生信息記錄都有name,xuehao,kemu,chengji 4個(gè)屬性,因此提取所有學(xué)生信息記錄的共性,設(shè)計(jì)成學(xué)生信息記錄類GuanLiXinXi該類有name和xuehao,kemu,chengji 4個(gè)成員變量;另外GuanLiXinXi類實(shí)例化出的學(xué)生信息記錄作為有序順序表中的元素需要比較大小,因

84、此該類要實(shí)現(xiàn)Comparable接口,GuanLiXinXi類的設(shè)計(jì)如下:</p><p>  public class GuanLiXinXi implements java.lang.Comparable<GuanLiXinXi>{</p><p>  private String name;</p><p>  private String xue

85、hao;</p><p>  private String kemu;</p><p>  private String chengji;</p><p>  public int compareTo(GuanLiXinXi t) //比較兩個(gè)對(duì)象大小,實(shí)現(xiàn)Comparable接口</p><p>  {

86、 </p><p>  return this.xuehao.compareTo(t.xuehao);//指定排序的自然次序,以及比較兩對(duì)象相等的規(guī)則</p><p><b>  }設(shè)計(jì)略</b></p><p><b>  }</b></p><p>

87、  5,學(xué)生信息的輸出到一個(gè)文件(此方法我不太會(huì)結(jié)合使用,僅是寫出了一個(gè)框架),</p><p>  利用 轉(zhuǎn)換流inputStreamReader 把字節(jié)流轉(zhuǎn)換為字符流</p><p>  public void inputStreamReaderTest(String file){</p><p>  InputStreamReader isr = null;&

88、lt;/p><p>  FileReader fr = null;</p><p>  FileWriter fw = null;</p><p>  BufferedReader br = null, br2 = null;</p><p>  BufferedWriter bw = null;</p><p>  St

89、ring s = null;</p><p>  //1.建立一個(gè)輸入流,數(shù)據(jù)源來(lái)自鍵盤</p><p>  isr = new InputStreamReader(System.in);//鍵盤in是一個(gè)字節(jié)流,轉(zhuǎn)換為字符流</p><p>  br = new BufferedReader(isr);</p><p>  //2.從br中

90、讀取數(shù)據(jù)后寫入到文件中,設(shè)定輸入bye為結(jié)束標(biāo)記</p><p><b>  try {</b></p><p>  fw = new FileWriter(file);</p><p>  bw = new BufferedWriter(fw);</p><p>  System.out.println("\

91、n請(qǐng)輸入數(shù)據(jù),輸入bye時(shí)將結(jié)束輸入狀態(tài)...\n");</p><p>  while(true){</p><p>  s = br.readLine() ;//從鍵盤上按行讀取</p><p>  if(s.equals("bye")){</p><p><b>  break;</b>

92、;</p><p><b>  }</b></p><p>  bw.write(s);//寫入bw中</p><p><b>  }</b></p><p>  bw.flush();</p><p>  } catch (IOException e1) {&l

93、t;/p><p>  e1.printStackTrace();</p><p><b>  }</b></p><p>  //3.從文件中讀取數(shù)據(jù)后顯示出來(lái)</p><p><b>  try {</b></p><p>  fr = new FileReader(fil

94、e);</p><p>  br2 = new BufferedReader(fr);</p><p>  System.out.println("讀取開始...");</p><p>  while((s=br2.readLine())!= null){</p><p>  System.out.print(s);<

95、;/p><p><b>  }</b></p><p>  System.out.println("\n讀取完畢...");</p><p>  } catch (FileNotFoundException e1) {</p><p>  e1.printStackTrace();</p>

96、;<p>  }catch(IOException e){</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  //4.關(guān)閉流</b></p><p><b>  try {</b>

97、;</p><p>  bw.close();</p><p>  br.close();</p><p>  fw.close();</p><p>  fr.close();</p><p>  br2.close();</p><p>  } catch (IOException e) {

98、</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  第四章 系統(tǒng)實(shí)現(xiàn)</b></p><p>  學(xué)生信息系統(tǒng)是通過4個(gè)Jav

99、a類來(lái)實(shí)現(xiàn)的。</p><p>  1.通訊錄記錄(GuanLiXinXi)類,位于GuanLiXinXi.java源文件中,實(shí)現(xiàn)通訊錄記錄的描述。</p><p>  2.有序順序表(SortedSeqList)類,位于SortedSeqList.java源文件中,用來(lái)實(shí)現(xiàn)有序順序表的各種操作。</p><p>  3.通訊錄(GuoCheng)類,位于GuoCh

100、eng.java源文件中,用來(lái)實(shí)現(xiàn)通訊錄系統(tǒng)的各種功能。</p><p>  4.通訊錄系統(tǒng)主程序(YunXing)類,位于YunXing.java源文件中,通訊錄系統(tǒng)運(yùn)行入口,向用戶提供程序界面,供用戶進(jìn)行菜單選擇。</p><p>  第五章 系統(tǒng)運(yùn)行與測(cè)試</p><p>  上述源文件編譯運(yùn)行后顯示如下菜單,等候用戶選擇:</p><p&

101、gt;  ===============</p><p><b>  1-學(xué)生信息的建立</b></p><p><b>  2-學(xué)生信息的插入</b></p><p><b>  3-學(xué)生信息的查詢</b></p><p><b>  4-學(xué)生信息的修改</b

102、></p><p><b>  5-學(xué)生信息的刪除</b></p><p><b>  6-學(xué)生信息的輸出</b></p><p>  0-學(xué)生信息退出系統(tǒng)</p><p>  ===============</p><p>  請(qǐng)選擇操作序號(hào)(0-6):</p&

103、gt;<p>  選“1”后回車,顯示:</p><p>  請(qǐng)選擇操作序號(hào)(0-6):</p><p><b>  1</b></p><p>  開始建立學(xué)生信息......</p><p>  請(qǐng)輸入一條記錄,name,xuehao,kemu,chengji :</p><p>

104、;  aa 01 yuwen 88</p><p>  插入成功!學(xué)生信息如下:</p><p>  namexuehaokemuchengji</p><p>  -----------------------------------------------------</p><p>  aa01yuwen88&l

105、t;/p><p>  ----------------------------------------------------</p><p>  繼續(xù)輸入嗎?(y/n):y</p><p>  請(qǐng)輸入一條記錄,name,xuehao,kemu,chengji :</p><p>  bb 02 shuxue 99</p><

106、p>  插入成功!學(xué)生信息如下:</p><p>  namexuehaokemuchengji</p><p>  -----------------------------------------------------</p><p>  aa01yuwen88</p><p>  ------------

107、----------------------------------------</p><p>  bb02shuxue99</p><p>  ----------------------------------------------------</p><p>  繼續(xù)輸入嗎?(y/n):n</p><p>  輸入“n”

108、后完成學(xué)生信息的創(chuàng)建,返回到系統(tǒng)主菜單</p><p><b>  學(xué)生信息創(chuàng)建完畢!</b></p><p>  ===============</p><p><b>  1-學(xué)生信息的建立</b></p><p><b>  2-學(xué)生信息的插入</b></p>

109、<p><b>  3-學(xué)生信息的查詢</b></p><p><b>  4-學(xué)生信息的修改</b></p><p><b>  5-學(xué)生信息的刪除</b></p><p><b>  6-學(xué)生信息的輸出</b></p><p>  0-學(xué)

110、生信息退出系統(tǒng)</p><p>  選“2”后回車,顯示:</p><p><b>  學(xué)生信息創(chuàng)建完畢!</b></p><p>  ===============</p><p><b>  1-學(xué)生信息的建立</b></p><p><b>  2-學(xué)生信息的

111、插入</b></p><p><b>  3-學(xué)生信息的查詢</b></p><p><b>  4-學(xué)生信息的修改</b></p><p><b>  5-學(xué)生信息的刪除</b></p><p><b>  6-學(xué)生信息的輸出</b><

112、/p><p>  0-學(xué)生信息退出系統(tǒng)</p><p>  ===============</p><p>  請(qǐng)選擇操作序號(hào)(0-6):</p><p><b>  2</b></p><p><b>  學(xué)生信息的插入:</b></p><p>  請(qǐng)

113、輸入一條記錄,name,xuehao,kemu,chengji :</p><p>  cc 03 liunx 87</p><p>  插入成功!學(xué)生信息如下:</p><p>  namexuehaokemuchengji</p><p>  ------------------------------------------

114、-----------</p><p>  aa01yuwen88</p><p>  ----------------------------------------------------</p><p>  bb02shuxue99</p><p>  ------------------------------

115、----------------------</p><p>  cc03liunx87</p><p>  ----------------------------------------------------</p><p>  選“3”后回車,顯示:</p><p><b>  3</b></p

116、><p><b>  學(xué)生信息的查詢:</b></p><p>  ############</p><p><b>  1-按name查詢</b></p><p>  2-按xuehao查詢:</p><p>  ############</p><p>

117、;<b>  請(qǐng)選擇(1或2):</b></p><p><b>  1</b></p><p><b>  請(qǐng)輸入name:</b></p><p><b>  aa</b></p><p>  namexuehaokemuchengji&l

118、t;/p><p>  -----------------------------------------------------</p><p>  aa 01 yuwen 88</p><p>  -----------------------------------------------------</p><p&

119、gt;  選“4”后回車,顯示:</p><p><b>  4</b></p><p><b>  學(xué)生信息的修改:</b></p><p>  ############</p><p><b>  1-按name查詢</b></p><p>  2-

120、按xuehao查詢:</p><p>  ############</p><p><b>  請(qǐng)選擇(1或2):</b></p><p><b>  1</b></p><p><b>  請(qǐng)輸入name:</b></p><p><b> 

121、 aa</b></p><p>  namexuehaokemuchengji</p><p>  -----------------------------------------------------</p><p>  aa01yuwen88</p><p>  ------------------

122、-----------------------------------</p><p>  請(qǐng)輸入新的name和xuehao....:</p><p>  ww 08 jisuji 100</p><p><b>  修改成功!</b></p><p>  namexuehaokemuchengji</

123、p><p>  -----------------------------------------------------</p><p>  bb 02 shuxue99</p><p>  ----------------------------------------------------</p><p>  cc

124、 03 liunx87</p><p>  ----------------------------------------------------</p><p>  ww 08 jisuji100</p><p>  -------------------------------------------------

125、---</p><p>  選“5”后回車,顯示:</p><p><b>  5</b></p><p><b>  學(xué)生信息的刪除:</b></p><p>  ############</p><p><b>  1-按name查詢</b><

126、/p><p>  2-按xuehao查詢:</p><p>  ############</p><p><b>  請(qǐng)選擇(1或2):</b></p><p><b>  1</b></p><p><b>  請(qǐng)輸入name:</b></p>

127、<p><b>  cc</b></p><p>  namexuehaokemuchengji</p><p>  -----------------------------------------------------</p><p>  cc 03 liunx87</p>

128、<p>  -----------------------------------------------------</p><p><b>  刪除成功!</b></p><p>  namexuehaokemuchengji</p><p>  ------------------------------------

129、-----------------</p><p>  bb 02shuxue99</p><p>  ----------------------------------------------------</p><p>  ww 08jisuji100</p><p>  --------

130、--------------------------------------------</p><p>  選“6”后回車,顯示:</p><p><b>  6</b></p><p><b>  學(xué)生信息的輸出:</b></p><p>  namexuehaokemuchengj

131、i</p><p>  -----------------------------------------------------</p><p>  bb 02 shuxue 99</p><p>  ----------------------------------------------------</p><

132、p>  ww 08 jisuji 100</p><p>  ----------------------------------------------------</p><p>  選“0”后回車,顯示:</p><p>  還有就是把學(xué)生信息輸入到一個(gè)文件便于查閱,雖然我不能更好的結(jié)合,但是我可以再這里演示一下:</p

133、><p>  aa 01 yuwen 88</p><p>  bb 02 shuxue 99</p><p><b>  bye</b></p><p><b>  讀取開始...</b></p><p>  aa 01 yuwen 88bb 02 shuxue 99</

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論