java課程設(shè)計--簡單的網(wǎng)絡(luò)聊天程序_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  本 科 課 程 設(shè) 計</p><p>  課程設(shè)計題目: 簡單的網(wǎng)絡(luò)聊天程序</p><p><b>  課程設(shè)計報告</b></p><p><b>  1.設(shè)計目的:</b></p><p><b>  序言</b></p><p

2、><b>  1.1 背景</b></p><p>  在當(dāng)今的信息時代,越來越多的聊天工具被應(yīng)用 ,Java語言是當(dāng)今流行的網(wǎng)絡(luò)編程語言,它具有面向?qū)ο?、與平臺無關(guān)、安全、多線程 等特點。使用Java語言不僅可以實現(xiàn)大型企業(yè)級的分布式應(yīng)用系統(tǒng),還能夠為小型的、嵌入 式設(shè)備進(jìn)行應(yīng)用程序的開發(fā)。面向?qū)ο蟮拈_發(fā)方法是當(dāng)今世界最流行的開發(fā)方法,它不僅具有更貼近自然的語義,而且有利于軟件的維護(hù)

3、和繼承。為了進(jìn)一步鞏固課堂上所學(xué)到的知識,深刻把握J(rèn)ava語言的重要概念及其面向?qū)ο蟮奶匦?,鍛煉我們熟練的?yīng)用面向?qū)ο蟮乃枷牒驮O(shè)計方法解決實際問題的能力,開設(shè)了Java程序設(shè)計課程設(shè)計。</p><p>  此次課程設(shè)計的題目為簡單的聊天室,通過做鞏固所學(xué)Java語言基本知識,增進(jìn)Java語言編輯基本功,掌握J(rèn)DK、JCreator等開發(fā)工具的運(yùn)用,拓寬常用類庫的應(yīng)用。使我們通過該教學(xué)環(huán)節(jié)與手段,把所學(xué)課程及相關(guān)

4、知識加以融會貫通,全面掌握J(rèn)ava語言的編程思想及面向?qū)ο蟪绦蛟O(shè)計的方法,為今后從事實際工作打下堅實的基礎(chǔ)。</p><p><b>  1.2 相關(guān)技術(shù)</b></p><p>  CPU:Pentium 2.8GHz以上</p><p>  內(nèi)存:256MB以上</p><p>  硬盤空間:80G以上</p&

5、gt;<p>  操作系統(tǒng):Windows7</p><p>  運(yùn)行環(huán)境:eclips</p><p>  2. 程序設(shè)計與實現(xiàn)</p><p><b>  2.1需求分析</b></p><p>  Java是一種簡單的,面向?qū)ο蟮?,分布式的,解釋的,鍵壯的,安全的,結(jié)構(gòu)中立的,可移植的,性能很優(yōu)異的

6、,多線程的,動態(tài)的語言。Java去掉了C++語言的許多功能,如:指針運(yùn)算、結(jié)構(gòu)、typedefs、#define,讓Java的語言功能很精煉,并增加了一些很有用的功能,如自動收集碎片。這將減少平常出錯的50%。而且,Java很小,整個解釋器只需215K的RAM。</p><p>  因此運(yùn)用JAVA程序編寫聊天室,實現(xiàn)簡單聊天功能。本次課程設(shè)計做的是Java簡單聊天室,它是圖形界面、線程、流與文件等技術(shù)的綜合應(yīng)用

7、,其界面主要采用了java.awt包,javax.swing包等。 程序?qū)崿F(xiàn)了聊天室的基本功能,其中有:</p><p> ?。?)啟動服務(wù)器:實現(xiàn)網(wǎng)絡(luò)的連接,為注冊進(jìn)入聊天室做準(zhǔn)備。</p><p> ?。?)啟動客戶端:實現(xiàn)網(wǎng)絡(luò)的鏈接,可以進(jìn)行正式的聊天</p><p> ?。?)發(fā)送信息:為用戶發(fā)送信息提供平臺。</p><p> ?。?/p>

8、4)離開界面:使用戶退出聊天室。</p><p>  (5)關(guān)閉服務(wù)器:斷開與網(wǎng)絡(luò)的連接,徹底退出聊天室。</p><p>  2.2 系統(tǒng)整體設(shè)計</p><p><b>  圖1 程序基本框圖</b></p><p><b>  2.3 代碼實現(xiàn)</b></p><p>

9、<b>  3.系統(tǒng)詳細(xì)設(shè)計:</b></p><p><b>  客戶端:</b></p><p>  package 課程設(shè)計;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>

10、;  import java.net.*;</p><p>  import java.io.*;</p><p>  import javax.swing.JOptionPane;</p><p>  public class TClient</p><p><b>  {</b></p><p&g

11、t;  public static void main(String[] args)</p><p><b>  {</b></p><p>  new TCPClient().launch();</p><p><b>  }</b></p><p><b>  }</b>&

12、lt;/p><p>  class TCPClient</p><p><b>  {</b></p><p>  private TextArea ta = null;</p><p>  private TextField tf = null;</p><p>  private Button b

13、n = null;</p><p>  private DataInputStream dis = null;</p><p>  private DataOutputStream dos = null;</p><p>  private Socket s = null;</p><p>  private Frame f = null;&

14、lt;/p><p>  public void launch()</p><p><b>  {</b></p><p>  createUI();</p><p>  connect(); </p><p>  new TCPClientReader().start(); </p>

15、<p>  new TCPClientWriter().start(); </p><p><b>  }</b></p><p>  public void createUI()</p><p><b>  {</b></p><p>  f = new Frame("客戶

16、端");</p><p>  f.setLocation(300, 200);</p><p>  ta = new TextArea();</p><p>  tf = new TextField();</p><p>  Panel p = new Panel(new BorderLayout());</p>&l

17、t;p>  bn = new Button("發(fā)送");</p><p>  p.add(tf, BorderLayout.CENTER);</p><p>  p.add(bn, BorderLayout.EAST);</p><p>  f.add(ta, BorderLayout.CENTER);</p><p&g

18、t;  f.add(p, BorderLayout.SOUTH);</p><p>  f.setSize(400, 400);</p><p>  f.setVisible(true);</p><p>  f.addWindowListener(</p><p>  new WindowAdapter()</p><

19、p><b>  {</b></p><p>  public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(-1);</p><p><b>  }</b></

20、p><p><b>  }</b></p><p><b>  );</b></p><p><b>  }</b></p><p>  public void close()</p><p><b>  {</b></p>

21、;<p><b>  try</b></p><p><b>  {</b></p><p>  dis.close();</p><p>  dos.close();</p><p>  s.close();</p><p><b>  }</

22、b></p><p>  catch (Exception e)</p><p><b>  {</b></p><p>  //System.exit(-1);</p><p><b>  }</b></p><p><b>  }</b><

23、;/p><p>  public void connect()</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  s = new Socket("127.

24、0.0.1", 8888); //此IP可以修改,如果要可以達(dá)到很遠(yuǎn)的距離聊天不但需要IP地址,</p><p>  //還要有很高的 硬件配置</p><p>  dis = new DataInputStream(s.getInputStream());</p><p>  dos = new DataOutputStream(s.getOutput

25、Stream());</p><p><b>  }</b></p><p>  catch (Exception e)</p><p><b>  {</b></p><p>  //e.printStackTrace();</p><p>  //System

26、.exit(-1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  class TCPClientReader extends Thread</p><p><b>  {</b></p><p&g

27、t;  public void run()</p><p><b>  {</b></p><p>  while (true)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {

28、</b></p><p>  String str = dis.readUTF();</p><p>  ta.append("美女說: " + str + "\n");</p><p>  if (str.equals("再見"))</p><p><b> 

29、 {</b></p><p><b>  close();</b></p><p>  System.exit(-1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (Exc

30、eption e)</p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(f, "提示: 服務(wù)器端已經(jīng)斷開連接");</p><p>  //e.printStackTrace();</p><p>  //System.exit(-

31、1);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }&l

32、t;/b></p><p>  class TCPClientWriter extends Thread</p><p><b>  {</b></p><p>  public void run()</p><p><b>  {</b></p><p>  tf.a

33、ddActionListener(new TCPClientListener());</p><p>  bn.addActionListener(new TCPClientListener());</p><p><b>  }</b></p><p><b>  }</b></p><p>  

34、class TCPClientListener implements ActionListener</p><p><b>  {</b></p><p><b>  @Override</b></p><p>  public void actionPerformed(ActionEvent e) //這里的e<

35、/p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  String str = tf.getText();</p><p>  tf.setText("&quo

36、t;);</p><p>  ta.append("自己說: " + str + "\n");</p><p>  dos.writeUTF(str);</p><p>  if (str.equals("再見"))</p><p><b>  {</b><

37、;/p><p><b>  close();</b></p><p>  System.exit(-1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (Exception e2)

38、 //如果這里的形參也定義為e,將會和上面的代碼中的形參e命名重復(fù), 因此這里改為其他名字</p><p><b>  {</b></p><p>  e2.printStackTrace();</p><p>  System.exit(-1);</p><p><b>  }</b></

39、p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  服務(wù)器端:</b></p><p>  package 課程設(shè)計;</p>

40、<p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import java.net.*;</p><p>  import java.io.*;</p><p>  import javax.swing.*;</p><p&g

41、t;  public class TServer</p><p><b>  {</b></p><p>  public static void main(String[] args)</p><p><b>  {</b></p><p>  new TCPServer().launch();&

42、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p>  class TCPServer</p><p><b>  {</b></p><p>  private TextArea ta = null;<

43、/p><p>  private TextField tf = null;</p><p>  private Button bn = null;</p><p>  private DataInputStream dis = null;</p><p>  private DataOutputStream dos = null;</p&g

44、t;<p>  private ServerSocket ss = null;</p><p>  private Socket s = null; </p><p>  private Frame f = null;</p><p>  public void launch()</p><p><b>  {<

45、/b></p><p>  createUI();</p><p>  connect(); //如果客戶端程序沒有打開的話,則程序?qū)⒃谕磺?,即如果客戶端程序沒有打開的話, 代碼是不會執(zhí)行的</p><p>  new TCPServerReader().start(); </p><p>  new TCPServerWrit

46、er().start(); </p><p><b>  }</b></p><p>  public void createUI()</p><p><b>  {</b></p><p>  f = new Frame();</p><p>  f.setTitle(&

47、quot;服務(wù)器端");</p><p>  ta = new TextArea();</p><p>  tf = new TextField();</p><p>  Panel p = new Panel(new BorderLayout());</p><p>  bn = new Button("發(fā)送"

48、);</p><p>  p.add(tf, BorderLayout.CENTER);</p><p>  p.add(bn, BorderLayout.EAST);</p><p>  f.add(ta, BorderLayout.CENTER);</p><p>  f.add(p, BorderLayout.SOUTH);</p

49、><p>  f.setSize(400, 400);</p><p>  f.setVisible(true);</p><p>  f.addWindowListener(</p><p>  new WindowAdapter()</p><p><b>  {</b></p>

50、<p>  public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(-1);</p><p><b>  }</b></p><p><b>  }</b>&

51、lt;/p><p><b>  );</b></p><p><b>  }</b></p><p>  public void close()</p><p><b>  {</b></p><p><b>  try</b><

52、;/p><p><b>  {</b></p><p>  dis.close();</p><p>  dos.close();</p><p>  s.close();</p><p>  ss.close();</p><p><b>  }</b>

53、</p><p>  catch (Exception e)</p><p><b>  {</b></p><p>  System.exit(-1);</p><p><b>  }</b></p><p><b>  }</b></p>

54、<p>  public void connect()</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  ss = new ServerSocket(8888);<

55、/p><p>  s = ss.accept(); </p><p>  dis = new DataInputStream(s.getInputStream());</p><p>  dos = new DataOutputStream(s.getOutputStream());</p><p><b>  }</b>

56、</p><p>  catch (Exception e)</p><p><b>  {</b></p><p>  //e.printStackTrace();</p><p>  System.exit(-1); </p><p><b>  }</b></p

57、><p><b>  }</b></p><p>  class TCPServerReader extends Thread</p><p><b>  {</b></p><p>  public void run()</p><p><b>  {</b&g

58、t;</p><p>  while (true)</p><p><b>  {</b></p><p><b>  try </b></p><p><b>  {</b></p><p>  String str = dis.readUTF();

59、 //如果客戶端斷開連接的話,dis.readUTF()會拋出java.io.EOFException異常;</p><p>  //如果只捕獲異常而不處理異常的話,則編譯器會認(rèn)為異常已得到處理,因此程序會繼續(xù)向下執(zhí)行,而不是立即終止程序, </p><p>  //其最終結(jié)果是程序陷入死循環(huán),不停的執(zhí)行代碼</p><p>  ta.append(&q

60、uot;帥哥說: " + str + "\n");</p><p>  if (str.equals("再見"))</p><p><b>  {</b></p><p><b>  close();</b></p><p>  System.exi

61、t(-1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (Exception e) </p><p><b>  {</b></p><p>  JOptionPane.showMe

62、ssageDialog(f, "提示: 客戶端已經(jīng)斷開連接");</p><p>  //e.printStackTrace();</p><p>  //System.exit(-1);</p><p><b>  return ;</b></p><p><b>  } &l

63、t;/b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  class TCPServerWriter extends Thread</p><p><

64、;b>  {</b></p><p>  public void run()</p><p><b>  {</b></p><p>  tf.addActionListener(new TCPServerListener());</p><p>  bn.addActionListener(new T

65、CPServerListener());</p><p><b>  }</b></p><p><b>  }</b></p><p>  class TCPServerListener implements ActionListener</p><p><b>  {</

66、b></p><p><b>  @Override</b></p><p>  public void actionPerformed(ActionEvent e) </p><p><b>  {</b></p><p><b>  try</b></p>

67、;<p><b>  {</b></p><p>  String str = tf.getText();</p><p>  tf.setText("");</p><p>  ta.append("自己說: " + str + "\n");</p>&l

68、t;p>  dos.writeUTF(str);</p><p>  if (str.equals("再見"))</p><p><b>  {</b></p><p><b>  close();</b></p><p>  System.exit(-1);</p&

69、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  catch (Exception e2) </p><p><b>  {</b></p><p>  //e2.printStackTrace();&l

70、t;/p><p>  System.exit(-1);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

71、<p><b>  測試結(jié)果與分析</b></p><p>  將兩個源程序文件分別打開,但是要記住老師說過的,必須先打開服務(wù)器端TServer,才能打開客戶端TClient,或運(yùn)行“javac *.java”命令,編譯全部的源文件,然后運(yùn)行連接服務(wù)器的主類,即運(yùn)行Server類。連接完畢后在運(yùn)行注冊的主函數(shù)類。</p><p>  首先,運(yùn)行TServe

72、r,運(yùn)行結(jié)果如下:</p><p>  結(jié)果分析:這個事后已經(jīng)建立了服務(wù)器端的聊天系統(tǒng),下面只需要在建立起客戶端的系統(tǒng)就能夠?qū)崿F(xiàn)其聊天任務(wù)了。</p><p>  其次,運(yùn)行客戶端,運(yùn)行結(jié)果如下:</p><p>  然后就可以進(jìn)行我們的聊天功能了,具體的過程為這樣:</p><p>  然后可以互相對說,并且還能夠一個人說多句話,另一個人可

73、以任意的根據(jù)情況來回復(fù),這個是這課程設(shè)計的關(guān)鍵所在。如下:</p><p>  最后是關(guān)閉整個系統(tǒng):可以任意的進(jìn)行退出。操作情況如下:</p><p><b>  退出,感謝使用!</b></p><p>  將5個Java源文件:Server.java、Objecting.java、LogIn.java、ClientUser.java、Cl

74、ient.java。分別編譯這5個Java源文件,或運(yùn)行“javac *.java”命令,編譯全部的源文件,然后運(yùn)行連接服務(wù)器的主類,即運(yùn)行Server類。連接完畢后在運(yùn)行注冊的主函數(shù)</p><p>  類,即運(yùn)行LogIn類。</p><p>  首先運(yùn)行啟動服務(wù)器的文件Server.java,運(yùn)行結(jié)果如下:</p><p><b>  圖2服務(wù)器啟

75、動成功</b></p><p>  結(jié)果分析:在進(jìn)入聊天室之前必須先啟動服務(wù)器,實現(xiàn)服務(wù)器端的連接為用戶的登錄打開“窗口”。</p><p>  其次運(yùn)行用戶注冊登錄文件LogIn.java,運(yùn)行結(jié)果如下:</p><p><b>  圖3用戶登陸界面</b></p><p>  結(jié)果分析:添加用戶信息,輸入

76、用戶姓名,為用戶進(jìn)入聊天室提供關(guān)口。并且利用以下語</p><p>  句實現(xiàn)如圖4的界面 JLabel title=new JLabel("免注冊版");</p><p>  JLabel name=new JLabel("輸入姓名");</p><p>  JButton send=new JButton("進(jìn)

77、入");</p><p>  添加注冊信息后點擊“進(jìn)入”按鈕,結(jié)果如圖5</p><p><b>  圖4顯示用戶已登錄</b></p><p>  結(jié)果分析:當(dāng)服務(wù)器啟動用戶完成信息注冊時,在服務(wù)期端的界面中會顯示當(dāng)前在線的人員,并且提示客戶已連接到服務(wù)器,可以進(jìn)行聊天行為。</p><p><b>

78、;  圖5 顯示聊天內(nèi)容</b></p><p>  結(jié)果分析:多個用戶進(jìn)入聊天室之后,用戶可以在發(fā)送信息的文本框里填寫自己的內(nèi)容,點擊“發(fā)送信息”按鈕,信息會出現(xiàn)在上方的區(qū)域內(nèi),在界面的右方還可以顯示在線人員的姓名,另在線用戶可以知道有誰在聊天室內(nèi)。</p><p>  聊天結(jié)束點擊“離開”按鈕,結(jié)果如圖7所示:</p><p><b>  

79、圖6離開聊天室</b></p><p>  點擊服務(wù)器中的“停止”按鈕,結(jié)果如圖8.圖9所示:</p><p>  圖7 點擊“停止”按鈕</p><p>  結(jié)果分析:用戶聊天結(jié)束點擊“離開”按鈕之后會在服務(wù)器端的界面上自動顯示該用戶已離開,提時、示服務(wù)器執(zhí)行相關(guān)行為。</p><p>  綜上所述:通過運(yùn)行這5個文件基本實現(xiàn)多

80、用戶在線聊天的功能,如啟動服務(wù)器:實現(xiàn)網(wǎng)絡(luò)的連接,為注冊進(jìn)入聊天室做準(zhǔn)備;注冊登陸界面:填寫基本信息如姓名等,可以供多人進(jìn)入實現(xiàn)多人聊天功能;發(fā)送信息:為用戶發(fā)送信息提供平臺。</p><p>  離開界面:使用戶退出聊天室;關(guān)閉服務(wù)器:斷開與網(wǎng)絡(luò)的連接,徹底退出聊天室。但還存在一定的不完善,在以后的編程中還有待于加強(qiáng)。</p><p><b>  總結(jié)心得體會</b>

81、;</p><p>  我花費(fèi)了近一個多月的時間,查閱了許多相關(guān)的資料,終于把這個Java聊天系統(tǒng),程序基本實現(xiàn)了該課程設(shè)計的基本要求。在設(shè)計的過程中了解到自己的知識還是比較有限,更肯定了自己在以后學(xué)習(xí)編程的道路上堅定不移的但由于只學(xué)習(xí)了一個學(xué)期的JAVA語言,自己水平有限,使得程序還有不是很完善。 回顧起此次java,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在整整一星期的日子里,可以說得是

82、苦多于甜,但是可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正掌握這門技術(shù),也提高了自己的獨(dú)立思考的能力。在設(shè)計的過程中遇到問題,可以說得上是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對

83、以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。</p><p>  通過此次課程設(shè)計,將我本學(xué)期所學(xué)的JAVA知識得到鞏固和應(yīng)用,在設(shè)計的過程中我遇到了很到問題,不過在老師和同學(xué)們的幫助和自己的思考下還是很好的完成了。這此課程設(shè)計還讓我懂得了寫程序不能閉門造車,要努力拓寬知識面,開闊視野,拓展思維。它還讓我學(xué)會了在網(wǎng)上查閱那些無限的資料。讓我不僅學(xué)會了書本上

84、的知識,還讓自己能夠面對困難并且克服它。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]張思民,梁維娜.Java程序設(shè)計實踐教程[M].北京:清華大學(xué)出版社;2006.8:1-21</p><p>  [2] 葉核亞.JAVA2程序設(shè)計實用教程[M](第2版).北京:電子工業(yè)出版社;2008.4.</p>

85、<p><b>  5.致謝:</b></p><p>  感謝**老師在一個學(xué)期對我們的教導(dǎo),但是由于我的編程底子要比別人差,所以只能做出這樣不是很理想的課程設(shè)計,也要請老師您能夠原諒我,我不是故意的,而是我真的已經(jīng)盡力了,不過我在未來的日子里會慢慢進(jìn)步上來的,我已經(jīng)買了很多的書籍給我充電,相信我在以后一定成為一名讓你感到驕傲的學(xué)生。謝謝您!也請你要記住我噢~我會努力的,加油!

溫馨提示

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

評論

0/150

提交評論