2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計報告</b></p><p><b>  2011年5月</b></p><p><b>  課題說明</b></p><p>  1、設計一個圖書信息管理系統Library Management System</p><p>  2、圖書

2、信息包括圖書編號bookID、書名titles、作者author、出版社bookconcern、出版日期publicationdate、圖書簡介bookintroduction及圖書類別bookcategory等。</p><p>  3、本系統功能描述:</p><p>  圖書信息錄入功能; </p><p><b>  圖書信息瀏覽功能;</b

3、></p><p>  查詢功能search(至少一種查詢方式);</p><p>  圖書信息修改alter功能;</p><p>  及其它你認為必要的功能。</p><p><b>  程序設計思路</b></p><p>  該課題要求是輸入圖書信息,對圖書信息進行一系列的處理。既要

4、輸入圖書編號又要能查找到與之對應的書名,還要對實現建立,顯示,查找,刪除,信息的保存。</p><p>  因為考慮到信息管理信息的實用性,額外添加了一個“讀文件”功能,使利用void read()方法來實現的。這個“讀文件模塊"!是我用來擴充信息管理系統功能的!可以使系統在用戶不用輸入信息就能讀取先前已存在的圖書信息文件。</p><p>  根據課題要求,首先對要實現的功能類

5、型分為三大類——Public類、方法類、信息類;然后細分為七個方法——void caidan()、void creat()、void output()、void search()、void delete()、void alter() 、void read ()。這些類和方法構成了能夠實現不同功能的模塊,很好地體現了面向對象的Java語言的編程模塊塊的思想。</p><p>  通過調用各功能模塊的幾個方法,隨后在

6、各個method中具體實現相關的功能。當然要利用throws IOException進行一些異常處理,包括輸入異常和數據的異常。在數據的錄入與輸出的過程中涉及到文件的相關操作(包括打開與關閉等)最后是系統的安全退出。大部分功能都是在具體的模塊中加以實現的。</p><p>  如search方法實現查詢圖書信息功能;caidan方法實現系統選擇菜單界面的輸出等相關功能;delete方法用于圖書信息刪除;outpu

7、t方法用于圖書信息的輸出及瀏覽等系列功能。</p><p>  Alter方法用于圖書信息的修改等。</p><p><b>  程序源代碼</b></p><p>  package librarymanagesystem;</p><p>  import java.io.*;</p><p>

8、;  public class booksystem {</p><p>  public static void main(final String[] args) throws IOException</p><p>  // throws IOException用來拋出io的錯誤,文件讀寫錯誤,主要涉及到java的安全機制</p><p><b> 

9、 {</b></p><p>  booksInfo booksOne[] = new booksInfo[100]; // 定義100個類數組</p><p>  for (int j = 0; j < 100; j++)</p><p>  booksOne[j] = new booksInfo();// 建立這100個類的對象</p&g

10、t;<p>  final ways booksTwo = new ways(); // 建立這個方法類的對象</p><p>  booksTwo.caidan(booksOne);</p><p><b>  }</b></p><p><b>  }</b></p><p>  

11、class booksInfo { // 圖書信息類,存放圖書的信息</p><p>  public String bookID;//圖書編號</p><p>  public String titles;//書名</p><p>  public String author;//圖書作者</p><p>  public String b

12、ookconcern;//出版社</p><p>  public String publicationdate;//出版日期</p><p>  public String bookintroduction;//圖書簡介</p><p>  public String bookcategory;//圖書類別</p><p>  // 把bo

13、okID,titles,author,bookconcern,publicationdate,bookintroduction,bookcategory等聲明為全局變量,</p><p>  // 因為它們貫穿于整個程序中,方便其它方法、類調用它們</p><p><b>  }</b></p><p>  // 方法類,主要實現圖書信息的建立

14、,顯示,查找,刪除,信息的保存與讀??;這個類是整個程序的操作類。</p><p>  class ways {</p><p>  public String recordkey;</p><p>  public int i = 0;// i用來存放圖書的數目</p><p>  public String filename = "

15、;Infomation.txt";</p><p>  BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));</p><p>  void caidan(booksInfo booksOne[]) throws IOException {</p><p>  f

16、inal BufferedReader buf = new BufferedReader(new InputStreamReader(</p><p>  System.in));</p><p>  // 產生Buf對象;buf是BufferedReader類的變量,此處將讀入字符串至buf</p><p>  int choice;</p><

17、;p><b>  do {</b></p><p>  System.out.println("☆★☆★☆★☆數學與計算科學系信計0802班★趙涵玉★設計★☆★☆★☆\n\n");</p><p>  System.out.println("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");</p

18、><p>  System.out.println("┃★ ★ ★ 圖書管理系統主菜單界面 ★ ★ ★┃");</p><p>  System.out.println("┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫");</p><p&g

19、t;  System.out.println("┃★ ★ ★ ★ 1.輸入圖書信息 ★ ★ ★ ★┃");</p><p>  System.out.println("┃★ ★ ★ 2.瀏覽圖書信息

20、 ★ ★ ★┃");</p><p>  System.out.println("┃★ ★ ★ 3.查找圖書信息 ★ ★ ★┃");</p><p>  System.out.println("┃★ ★ ★ 4.刪除圖書信息

21、 ★ ★ ★┃");</p><p>  System.out.println("┃★ ★ ★ 5.安全退出系統 ★ ★ ★┃");</p><p>  System.out.

22、println("┃★ ★ ★  6.修改圖書信息 ★ ★ ★┃");</p><p>  System.out.println("┃★ ★ ★ ★ 7.讀取數據 ★ ★ ★ ★┃"

23、);</p><p>  System.out.println("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");</p><p>  System.out.print(" 請輸入您的選擇(1--7):");</p><p>  choice = Integer.parseInt(buf.readLine

24、());</p><p>  switch (choice) {</p><p><b>  case 1:</b></p><p>  creat(booksOne);</p><p><b>  break;</b></p><p><b>  case 2:&

25、lt;/b></p><p>  output(booksOne);</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  search(booksOne);</p><p><b>  br

26、eak;</b></p><p><b>  case 4:</b></p><p>  delete(booksOne);</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>

27、;  save(booksOne);</p><p><b>  break;</b></p><p><b>  case 6:</b></p><p>  alter(booksOne);</p><p><b>  break;</b></p><p&

28、gt;<b>  case 7:</b></p><p>  read(booksOne);</p><p><b>  break;</b></p><p><b>  }</b></p><p>  } while (true);</p><p>&

29、lt;b>  }</b></p><p>  // 實現“增加(建立)圖書信息”</p><p>  void creat(booksInfo booksOne[]) throws IOException {</p><p>  final BufferedReader buf = new BufferedReader(new InputStrea

30、mReader(</p><p>  System.in));</p><p>  System.out.print("\n請輸入圖書信息(以0結束)\n");</p><p>  System.out.print("圖書編號:\n\n");</p><p>  booksOne[i].bookID =

31、 buf.readLine();</p><p>  // 用數組booksOne[i]來暫存圖書的序號,并用compareTo方法確定判定是否應該寫入新信息</p><p>  while (booksOne[i].bookID.compareTo("0") != 0) {</p><p>  System.out.print("書名

32、:\n\n");</p><p>  booksOne[i].titles = buf.readLine();</p><p>  System.out.print("作者:\n\n");</p><p>  booksOne[i].author = buf.readLine();</p><p>  Syste

33、m.out.print("出版社:\n\n");</p><p>  booksOne[i].bookconcern = buf.readLine();</p><p>  System.out.print("出版日期:\n\n");</p><p>  booksOne[i].publicationdate = buf.re

34、adLine();</p><p>  System.out.print("圖書簡介:\n\n");</p><p>  booksOne[i].bookintroduction = buf.readLine();</p><p>  System.out.print("圖書類別:\n\n");</p><

35、p>  booksOne[i].bookcategory = buf.readLine();</p><p><b>  i++;</b></p><p>  System.out.println("請輸入下一本圖書的信息:\n\n");</p><p>  booksOne[i].bookID = buf.readL

36、ine();</p><p><b>  }</b></p><p><b>  }</b></p><p>  // 這里是實現“輸出(預覽)職工信息”output的模塊</p><p>  void output(booksInfo booksOne[]) throws IOException

37、{</p><p>  System.out</p><p>  .println("-------------------------------------------------------------------------------");</p><p>  System.out</p><p>  .prin

38、tln(" *圖書信息表* ");</p><p>  System.out</p><p>  .println("--------------------------------------------------------

39、-----------------------");</p><p>  System.out</p><p>  .println("圖書編號 書名 作者 出版社 出版日期 圖書簡介 圖書類別 ");</p><p>  System.out</p><

40、;p>  .println("-------------------------------------------------------------------------------");</p><p>  if (i != 0) {</p><p>  for (int j = 0; j < i; j++) {</p><p&g

41、t;  System.out.print(booksOne[j].bookID + " " + booksOne[j].titles</p><p>  + " " + booksOne[j].author + " ");</p><p>  System.out.print(booksOne[j].bookco

42、ncern + " " + booksOne[j].publicationdate</p><p>  + " " + booksOne[j].bookintroduction + " ");</p><p>  System.out.print(booksOne[j].bookcategory + "

43、;\n");</p><p><b>  }</b></p><p>  System.out</p><p>  .println("-------------------------------------------------------------------------------");</p&g

44、t;<p><b>  } else</b></p><p>  System.out.println("沒有圖書信息!");</p><p><b>  }</b></p><p>  // 實現圖書信息的查詢功能的模塊</p><p>  void search

45、(booksInfo booksOne[]) throws IOException {</p><p>  final BufferedReader buf = new BufferedReader(new InputStreamReader(</p><p>  System.in));</p><p>  System.out.println("\n請

46、輸入您要查找的圖書編號:");</p><p>  recordkey = buf.readLine();</p><p>  boolean flg = true;</p><p>  System.out</p><p>  .println("-------------------------------------

47、------------------------------------------");</p><p>  System.out</p><p>  .println(" *圖書信息表* ");</p><

48、p>  System.out</p><p>  .println("-------------------------------------------------------------------------------");</p><p>  System.out</p><p>  .println("圖書編號

49、 書名 作者 出版社 出版日期 圖書簡介 圖書類別 ");</p><p>  System.out</p><p>  .println("-------------------------------------------------------------------------------");</p

50、><p>  for (int j = 0; j < i; j++) {</p><p>  if (recordkey.equals(booksOne[j].bookID)) {// equals是字符串比較函數相等返回true</p><p>  System.out.print(booksOne[j].bookID + " " +

51、booksOne[j].titles</p><p>  + " " + booksOne[j].author + " ");</p><p>  System.out.print(booksOne[j].bookconcern + " " + booksOne[j].publicationdate</p&

52、gt;<p>  + " " + booksOne[j].bookintroduction + " ");</p><p>  System.out.print(booksOne[j].bookcategory + " " + "\n");</p><p>  flg = fa

53、lse;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if (flg)</b></p><p>  System.out.println("對不起,查無此書!");</p><

54、;p><b>  }</b></p><p>  void delete(booksInfo booksOne[]) throws IOException {</p><p>  final BufferedReader buf = new BufferedReader(new InputStreamReader(</p><p>  S

55、ystem.in));</p><p>  System.out.println("\n請輸入您要刪除的圖書編號:");</p><p>  recordkey = buf.readLine();</p><p>  boolean flg = true;</p><p>  for (int j = 0; j <

56、i; j++) {</p><p>  if (recordkey.equals(booksOne[j].bookID)) {</p><p>  // 利用順序表的刪除算法,刪除值之后,再把后面的值往前移位,從而實現刪除</p><p>  for (int k = j; k <= i - 1; k++) {</p><p>  bo

57、oksOne[k].bookID = booksOne[k + 1].bookID;</p><p>  booksOne[k].titles = booksOne[k + 1].titles;</p><p>  booksOne[k].author = booksOne[k + 1].author;</p><p>  booksOne[k].bookconce

58、rn = booksOne[k + 1].bookconcern;</p><p>  booksOne[k].publicationdate = booksOne[k + 1].publicationdate;</p><p>  booksOne[k].bookintroduction = booksOne[k + 1].bookintroduction;</p><

59、;p>  booksOne[k].bookcategory = booksOne[k + 1].bookcategory;</p><p><b>  }</b></p><p>  i--;// 職工人數要減一</p><p>  flg = false;</p><p><b>  }</b&g

60、t;</p><p><b>  }</b></p><p><b>  if (flg)</b></p><p>  System.out.println("對不起,查無此書!。");</p><p><b>  else</b></p>&

61、lt;p>  System.out.println("已經刪除!。");</p><p><b>  }</b></p><p>  // 數據的保存模塊,把輸入的圖書信息保存到相應的文件里。</p><p>  void save(booksInfo booksOne[]) throws IOException {&

62、lt;/p><p><b>  int k;</b></p><p>  final FileWriter fw = new FileWriter(filename);// 調用構造函數FileWriter()創建FileWriter類的對象。</p><p><b>  // 文件的讀取</b></p><

63、;p>  fw.write(i + "\n");// 把職工的人數保存到文件中以便下次讀取是使用</p><p>  for (k = 0; k < i; k++) {// 每個職工有9個信息字段,下面就是這9個信息段。</p><p>  fw.write(booksOne[k].bookID + "\n");</p>&

64、lt;p>  fw.write(booksOne[k].titles + "\n");</p><p>  fw.write(booksOne[k].author + "\n");</p><p>  fw.write(booksOne[k].bookconcern + "\n");</p><p>

65、  fw.write(booksOne[k].publicationdate + "\n");</p><p>  fw.write(booksOne[k].bookintroduction + "\n");</p><p>  fw.write(booksOne[k].bookcategory + "\n");</p>

66、;<p><b>  }</b></p><p>  fw.close();</p><p>  System.out.println("\n 系統已經安全退出!感謝您的使用!");</p><p>  System.exit(0);</p><p><b>  }</b

67、></p><p>  void alter (booksInfo booksOne[]) throws IOException{</p><p>  final BufferedReader buf = new BufferedReader(new InputStreamReader(</p><p>  System.in));</p>&l

68、t;p>  int choice;</p><p>  System.out.println("\n請輸入您要修改的圖書編號:\n");</p><p>  recordkey = buf.readLine();</p><p>  for (int j = 0; j < i; j++){</p><p>  

69、if (recordkey.equals(booksOne[j].bookID)){</p><p>  System.out.println(" 1.修改圖書編號 ");</p><p>  System.out.println(" 2.修改書名 ");</p><p>  System.out.printl

70、n(" 3.修改圖書作者 ");</p><p>  System.out.println(" 4.修改圖書出版社 ");</p><p>  System.out.println(" 5.修改出版日期 ");</p><p>  System.out.println(&quo

71、t;  6.修改圖書簡介 ");</p><p>  System.out.println(" 7.修改圖書類別 ");</p><p>  System.out.print(" 請輸入您的選擇(1--7):");</p><p>  choice = Integer.parseInt(buf.readL

72、ine());</p><p>  switch (choice) {</p><p><b>  case 1:</b></p><p>  System.out.print("新的圖書編號:\n\n");</p><p>  booksOne[j].bookID = buf.readLine();

73、</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  System.out.print("新的圖書名:\n\n");</p><p>  booksOne[j].titles = buf.readLine();

74、</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  System.out.print("新的圖書作者:\n\n");</p><p>  booksOne[j].author = buf.readLine()

75、;</p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  System.out.print("新的出版社:\n\n");</p><p>  booksOne[j].bookconcern = buf.readL

76、ine();</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  System.out.print("新的圖書出版日期:\n\n");</p><p>  booksOne[j].publicationdate

77、 = buf.readLine();</p><p><b>  break;</b></p><p><b>  case 6:</b></p><p>  System.out.print("新的圖書簡介:\n\n");</p><p>  booksOne[j].booki

78、ntroduction = buf.readLine();</p><p><b>  break;</b></p><p><b>  case 7:</b></p><p>  System.out.print("新的圖書類別:\n\n");</p><p>  booksO

79、ne[j].bookcategory = buf.readLine();</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }else</b></p><p>  System.out.println(&quo

80、t;不存在!");}</p><p><b>  }</b></p><p>  // 讀文件模塊,讀取先前已存在的職工信息文件</p><p>  void read(booksInfo booksOne[]) throws IOException {</p><p>  final FileReader f

81、r = new FileReader(filename);</p><p>  final BufferedReader bfr = new BufferedReader(fr);</p><p>  if ((recordkey = bfr.readLine()) != null)</p><p>  i = Integer.parseInt(recordkey)

82、;</p><p>  for (int j = 0; j < i; j++) {</p><p>  booksOne[j].bookID = bfr.readLine();</p><p>  booksOne[j].titles = bfr.readLine();</p><p>  booksOne[j].author = bf

83、r.readLine();</p><p>  booksOne[j].bookconcern = bfr.readLine();</p><p>  booksOne[j].publicationdate = bfr.readLine();</p><p>  booksOne[j].bookintroduction = bfr.readLine();</p

84、><p>  booksOne[j].bookcategory = bfr.readLine();</p><p><b>  }</b></p><p>  fr.close();</p><p>  System.out.println("\n 數據已經成功讀??!");</p><

85、p><b>  }</b></p><p><b>  }</b></p><p><b>  程序測試</b></p><p>  ☆★☆★☆★☆數學與計算科學系信計0802班★趙涵玉★設計★☆★☆★☆</p><p>  ┏━━━━━━━━━━━━━━━━━━━━━━

86、━━━━━━━━┓</p><p>  ┃★ ★ ★ 圖書管理系統主菜單界面 ★ ★ ★┃</p><p>  ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫</p><p>  ┃★ ★ ★ ★ 1.輸入圖書信息 ★ ★ ★ ★┃</p><p

87、>  ┃★ ★ ★ 2.瀏覽圖書信息 ★ ★ ★┃</p><p>  ┃★ ★ ★ 3.查找圖書信息 ★ ★ ★┃</p><p>  ┃★ ★ ★ 4.刪除圖書信息 ★ ★ ★┃</p><p&

88、gt;  ┃★ ★ ★ 5.安全退出系統 ★ ★ ★┃</p><p>  ┃★ ★ ★  6.修改圖書信息 ★ ★ ★┃</p><p>  ┃★ ★ ★ ★ 7.讀取數據 ★ ★ ★ ★┃</p><p>

89、;  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛</p><p>  請輸入您的選擇(1--7):1</p><p>  請輸入圖書信息(以0結束)</p><p><b>  圖書編號:</b></p><p><b>  1</b></p><p>

90、<b>  書名:</b></p><p><b>  2</b></p><p><b>  作者:</b></p><p><b>  3</b></p><p><b>  出版社:</b></p><p&g

91、t;<b>  4</b></p><p><b>  出版日期:</b></p><p><b>  5</b></p><p><b>  圖書簡介:</b></p><p><b>  6</b></p><

92、p><b>  圖書類別:</b></p><p><b>  7</b></p><p>  請輸入下一本圖書的信息:</p><p>  請輸入您的選擇(1--7):2</p><p>  --------------------------------------------------

93、-----------------------------</p><p>  *圖書信息表* </p><p>  -------------------------------------------------------------------------------</p><p>

94、;  圖書編號 書名 作者 出版社 出版日期 圖書簡介 圖書類別 </p><p>  -------------------------------------------------------------------------------</p><p>  1 2 3 4 5 6

95、7</p><p>  -------------------------------------------------------------------------------</p><p>  請輸入您的選擇(1--7):3</p><p>  請輸入您要查找的圖書編號:</p><p><b>  1</b>

96、</p><p>  -------------------------------------------------------------------------------</p><p>  *圖書信息表* </p><p>  --------------------------

97、-----------------------------------------------------</p><p>  圖書編號 書名 作者 出版社 出版日期 圖書簡介 圖書類別 </p><p>  ------------------------------------------------------------------

98、-------------</p><p>  1 2 3 4 5 6 7 </p><p>  請輸入您的選擇(1--7):4</p><p>  請輸入您要刪除的圖書編號:</p><p><b>  1</b></p><p><b>  

99、已經刪除!。</b></p><p>  請輸入您的選擇(1--7):5</p><p>  系統已經安全退出!感謝您的使用!</p><p>  請輸入您的選擇(1--7):6</p><p>  請輸入您要修改的圖書編號:</p><p><b>  1</b></p>

100、<p>  1.修改圖書編號 </p><p><b>  2.修改書名 </b></p><p>  3.修改圖書作者 </p><p>  4.修改圖書出版社 </p><p>  5.修改出版日期 </p><p>  6.修改圖書簡介 &l

101、t;/p><p>  7.修改圖書類別 </p><p>  請輸入您的選擇(1--7):1</p><p><b>  新的圖書編號:</b></p><p><b>  2</b></p><p>  請輸入您的選擇(1--7):7</p><p&g

102、t;<b>  數據已經成功讀??!</b></p><p><b>  設計總結</b></p><p>  一、多動手、多參考。本次課程設計綜合考察了我們對Java程序設計知識的掌握熟練程度和實際運用能力。其間,涉及到了Java 中的大多數的知識點,如Java的類與對象、Java的異常處理機制、Java中的集合框架、Java輸入輸出流等。<

103、;/p><p>  程序實現的關鍵在于功能的合理劃分以及各個包或者類之間的通訊問題,只要分析清楚這兩點,剩下的就是按部就班的寫代碼了。所以設計是關鍵。</p><p>  功能實現了,再就是如何對程序進行性能優化的問題。這不但需要扎實掌握基礎知識,而且還需要多實踐,在編程實踐中學習、理解性能優化的問題。</p><p>  作為一門程序設計語言,Java 的學習務必要做

104、到多看多寫多想多請教。</p><p>  二、多看,看高手、大師的程序。借鑒其解題思路和程序架構;多寫,學習程序設計很重要的就是要自己親自動手寫代碼,切忌犯眼高手低的弊病,而且這樣記憶非常深刻;多想,程序調試中出現一些“莫明其妙”的問題,為什么會這樣而不是那樣;多請教:程序設計說到底是要徹底搞清設計該語言的人的思想,遇到問題想不通應該請教同學、老師等。這樣可達到事半功倍的目的。</p><p

105、><b>  參考文獻</b></p><p>  【1】 劉寶林. Java程序設計與案例[M]. 北京: 高等教育出版社, 2004.11。</p><p>  【2】吳亞峰, 紀超. Java SE 6.0編程指南[M]. 北京: 人民郵電出版社, 2007.11。</p><p>  【3】lava程序設計與案例。</p&g

溫馨提示

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

評論

0/150

提交評論