版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 網(wǎng)絡(luò)測(cè)試系統(tǒng)</b></p><p><b> 需求分析</b></p><p> 現(xiàn)在,網(wǎng)絡(luò)早已是人們?nèi)粘I畈豢苫蛉钡囊徊糠?,網(wǎng)絡(luò)性能的好壞,各個(gè)路由節(jié)點(diǎn)之間連接是否暢通也是人們所需解決的最基本問(wèn)題,由此,一個(gè)網(wǎng)絡(luò)測(cè)試系統(tǒng)的需求也就產(chǎn)生了。</p><p><b> 題目要
2、求</b></p><p> 使用圖形用戶(hù)界面;客戶(hù)端登錄,獲取服務(wù)器試卷文件列表,選取顯示試卷,提交答案,查詢(xún)分?jǐn)?shù)。</p><p><b> 設(shè)計(jì)思想</b></p><p> 代碼分兩個(gè)部分,一個(gè)客戶(hù)端,一個(gè)服務(wù)器。客戶(hù)端部分,負(fù)責(zé)圖形用戶(hù)界面,客戶(hù)端登錄,連接服務(wù)器,獲取試卷,答題,顯示分?jǐn)?shù);服務(wù)器部分,負(fù)責(zé)和客戶(hù)端連
3、接,向客戶(hù)端傳試卷,給予分?jǐn)?shù),其中試卷是通過(guò)sqlserver數(shù)據(jù)庫(kù)給出的。</p><p><b> 系統(tǒng)流程</b></p><p><b> 流程截圖及說(shuō)明</b></p><p> 圖表 1啟動(dòng)服務(wù)器,控制臺(tái)顯示連接成功</p><p><b> 圖表 2啟動(dòng)客戶(hù)端<
4、/b></p><p> 圖表 3輸入服務(wù)器IP,點(diǎn)擊登錄按鈕</p><p> 圖表 4客戶(hù)端登陸后,服務(wù)器顯示客戶(hù)端的信息</p><p> 圖表 5單擊登陸完畢,選擇試卷按鈕彈出試卷選擇窗口</p><p> 圖表 6有兩種試卷可以選擇</p><p> 圖表 7選擇試卷1,單擊開(kāi)始答題按鈕彈出答
5、題窗口</p><p> 圖表 8輸入答案,單擊開(kāi)始答題按鈕,進(jìn)入下一道題</p><p><b> 圖表 9第二題</b></p><p><b> 圖表 10第三題</b></p><p><b> 圖表 11第四題</b></p><p>
6、 圖表 12第二,四題答對(duì),第一,三題答錯(cuò),最后顯示如上結(jié)果</p><p> 圖表 13重復(fù)上述步驟,選擇試卷二答題</p><p><b> 圖表 14第一題</b></p><p><b> 圖表 15第二題</b></p><p><b> 圖表 16第三題</b&
7、gt;</p><p><b> 圖表 17第四題</b></p><p><b> 圖表 18第五題</b></p><p> 圖表 19第一,三,五題答對(duì),二,四題答錯(cuò),最后顯示如上結(jié)果</p><p> 圖表 20數(shù)據(jù)庫(kù)中的試卷類(lèi)型,題目及答案信息</p><p&g
8、t;<b> 設(shè)計(jì)體會(huì)</b></p><p> 通過(guò)此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)java編程方面的知識(shí),在設(shè)計(jì)過(guò)程中雖然遇到了一些問(wèn)題,但經(jīng)過(guò)一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識(shí)欠缺和經(jīng)驗(yàn)不足。實(shí)踐出真知,通過(guò)編程,使我們掌握的知識(shí)不再是紙上談兵。</p><p> 過(guò)而能改,善莫大焉。在課程設(shè)計(jì)過(guò)程中
9、,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的檢測(cè)調(diào)試環(huán)節(jié),本身就是在踐行“過(guò)而能改,善莫大焉”的知行觀。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多問(wèn)題,最后在老師的指導(dǎo)下,終于游逆而解。在今后社會(huì)的發(fā)展和學(xué)習(xí)實(shí)踐過(guò)程中,一定要不懈努力,不能遇到問(wèn)題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問(wèn)題所在,然后一一進(jìn)行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上披荊斬棘,而不是知難而退,那樣永遠(yuǎn)不可能收獲成功,收獲喜悅,也
10、永遠(yuǎn)不可能得到社會(huì)及他人對(duì)你的認(rèn)可!</p><p> 課程設(shè)計(jì)誠(chéng)然是一門(mén)專(zhuān)業(yè)課,給我很多專(zhuān)業(yè)知識(shí)以及專(zhuān)業(yè)技能上的提升,同時(shí)又是一門(mén)講道課,一門(mén)辯思課,給了我許多道,給了我很多思,給了我莫大的空間。同時(shí),設(shè)計(jì)讓我感觸很深。使我對(duì)抽象的理論有了具體的認(rèn)識(shí)。</p><p> 我認(rèn)為,在這學(xué)期的課程設(shè)計(jì)中,不僅培養(yǎng)了獨(dú)立思考、動(dòng)手操作的能力,在各種其它能力上也都有了提高。更重要的是,在課程
11、設(shè)計(jì)上,我們學(xué)會(huì)了很多學(xué)習(xí)的方法。而這是日后最實(shí)用的,真的是受益匪淺。要面對(duì)社會(huì)的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。這對(duì)于我們的將來(lái)也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂(lè),找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國(guó)提倡的艱苦奮斗一樣,我們都可以在實(shí)驗(yàn)結(jié)束之后變的更加成熟,會(huì)面對(duì)需要面對(duì)的事情。</p><p> 回顧起此課程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,在這段日子里,可以說(shuō)得
12、是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,但可喜的是最終都得到了解決。 </p><p><
13、;b> 參考文獻(xiàn)</b></p><p> java語(yǔ)言程序設(shè)計(jì)</p><p><b> java編程思想</b></p><p><b> 源代碼</b></p><p> client.java:</p><p> package clie
14、nt;</p><p> import java.net.*;</p><p> import java.io.*;</p><p> import javax.swing.*;</p><p> import java.awt.event.*;</p><p> import java.awt.*;<
15、/p><p> public class client extends JFrame</p><p><b> {</b></p><p> private JTextField t1;</p><p> private JButton button1;</p><p> private J
16、Button button2;</p><p> private JLabel label1;</p><p> private JLabel label2;</p><p> static Socket server=null;</p><p> static InputStream inputdata=null;</p&g
17、t;<p> static OutputStream outputdata=null;</p><p> static BufferedReader in=null;</p><p> static PrintStream out=null;</p><p> static String sentence=null;</p>&l
18、t;p> public client(JFrame f)</p><p><b> {</b></p><p> f.setVisible(true);</p><p> f.setBounds(200,200,500,400);</p><p> Container c= getContentPane(
19、);</p><p> c.setBackground(Color.WHITE);</p><p><b> f.add(c);</b></p><p> t1 =new JTextField("請(qǐng)輸入服務(wù)器IP",20);</p><p> t1.setFont(new Font("
20、;Serif",Font.PLAIN,12));</p><p> button1=new JButton("登陸");</p><p> button1.setFont(new Font("Serif",Font.PLAIN,14));</p><p> button2=new JButton("登
21、陸完畢,選擇試卷");</p><p> button2.setFont(new Font("Serif",Font.PLAIN,16));</p><p> BHandler h=new BHandler();</p><p> button1.addActionListener(h);</p><p>
22、 BHandler2 h2=new BHandler2();</p><p> button2.addActionListener(h2);</p><p> label1 =new JLabel("你還未選擇服務(wù)器");</p><p> label1.setFont(new Font("Serif",Font.PL
23、AIN,14));</p><p> label2 =new JLabel("服務(wù)器還沒(méi)有試卷給你");</p><p> label2.setFont(new Font("Serif",Font.PLAIN,14));</p><p> c.add(button1,BorderLayout.WEST);</p&g
24、t;<p> c.add(button2,BorderLayout.SOUTH);</p><p> c.add(t1,BorderLayout.CENTER);</p><p> c.add(label1,BorderLayout.EAST);</p><p> c.add(label2,BorderLayout.NORTH);</p&
25、gt;<p><b> }</b></p><p> public class BHandler implements ActionListener</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent event)&l
26、t;/p><p><b> {</b></p><p> label1.setText("你選擇了服務(wù)器IP地址為" + t1.getText() );</p><p><b> try</b></p><p><b> {</b></p>
27、<p> server=new Socket("localhost",7000);//構(gòu)造Socket實(shí)例,連接本地服務(wù)器,端口號(hào)為7000</p><p> inputdata=server.getInputStream(); //實(shí)例化對(duì)象返回服務(wù)器套接字的輸入流</p><p> outputdata=server.getOutputStrea
28、m();//實(shí)例化對(duì)象返回服務(wù)器套接字的輸出流</p><p> in=new BufferedReader(new InputStreamReader(inputdata) );//實(shí)例化對(duì)象讀取數(shù)據(jù)輸入流</p><p> out=new PrintStream(outputdata); //實(shí)例化對(duì)象讀取數(shù)據(jù)輸出流</p><p> sentenc
29、e=in.readLine();//得到讀取的一個(gè)文本行 </p><p> label2.setText(sentence);</p><p><b> }</b></p><p> catch (Exception e){}</p><p><b> }</b></p>
30、<p><b> }</b></p><p> public class BHandler2 implements ActionListener</p><p><b> {</b></p><p> public void actionPerformed(ActionEvent event)<
31、/p><p><b> {</b></p><p> Jlb d =new Jlb(new JF0("選擇試卷窗口"));</p><p><b> }</b></p><p><b> }</b></p><p> class
32、 JF0 extends JFrame</p><p><b> {</b></p><p> public JF0(String s)</p><p><b> {</b></p><p><b> super(s);</b></p><p>
33、 setBounds(200,200,500,400);</p><p> setVisible(true);</p><p><b> try</b></p><p><b> {</b></p><p> UIManager.setLookAndFeel(UIManager.getSy
34、stemLookAndFeelClassName());</p><p> }catch(Exception e){}</p><p> setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p><b> }</b></p><p><b> }&l
35、t;/b></p><p> class Jlb extends JFrame</p><p><b> {</b></p><p> private JComboBox lbk;</p><p> private JLabel label;</p><p> private JB
36、utton button3;</p><p> private String shijuan[]= {"1","2"};</p><p> public Jlb(JFrame f)</p><p><b> {</b></p><p> Container c=getCon
37、tentPane();</p><p> c.setBackground(Color.WHITE);</p><p><b> f.add(c);</b></p><p> lbk = new JComboBox(shijuan);//創(chuàng)建下拉列表對(duì)象</p><p> lbk.setMaximumRowCoun
38、t(2);//設(shè)置下拉列表所能顯示列表項(xiàng)的最大數(shù)目</p><p> lbk.setSelectedIndex(0);//設(shè)置默認(rèn)的選擇項(xiàng)</p><p> lbk.setFont(new Font("Serif",Font.PLAIN,14));</p><p> lbk.addItemListener(new lbHandler());
39、//注冊(cè)Label監(jiān)聽(tīng)器</p><p> label =new JLabel("你選擇了:試卷1");</p><p> label.setFont(new Font("Serif",Font.PLAIN,14));</p><p> button3=new JButton("開(kāi)始答題");<
40、/p><p> button3.setFont(new Font("Serif",Font.PLAIN,14));</p><p> lbHandler2 h2=new lbHandler2();</p><p> button3.addActionListener(h2);//注冊(cè)Button監(jiān)聽(tīng)器</p><p>
41、 c.add(lbk, BorderLayout.NORTH);</p><p> c.add(label, BorderLayout.CENTER);</p><p> c.add(button3, BorderLayout.SOUTH);</p><p><b> }</b></p><p> public
42、class lbHandler implements ItemListener</p><p><b> {</b></p><p> public void itemStateChanged(ItemEvent e)</p><p><b> {</b></p><p> if(e.get
43、StateChange() == e.SELECTED)</p><p><b> {</b></p><p> label.setText("你選擇了:試卷 " + shijuan[lbk.getSelectedIndex()]);</p><p><b> }</b></p>&
44、lt;p><b> }</b></p><p><b> }</b></p><p> public class lbHandler2 implements ActionListener </p><p><b> {</b></p><p> public
45、void actionPerformed(ActionEvent event)</p><p><b> {</b></p><p> out.println(shijuan[lbk.getSelectedIndex()]);</p><p> Jlb2 m =new Jlb2(new JF0("答題窗口"));<
46、;/p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> class Jlb2 extends JFrame</p><p><b> {</b&
47、gt;</p><p> private JLabel labe2;</p><p> private JTextField t2;</p><p> private JButton button3;</p><p> public Jlb2(JFrame f)</p><p><b> {<
48、/b></p><p> Container c=getContentPane();</p><p> c.setBackground(Color.WHITE);</p><p><b> f.add(c);</b></p><p> labe2 =new JLabel("題目是: ")
49、;</p><p> labe2.setFont(new Font("Serif",Font.PLAIN,14));</p><p> t2 =new JTextField("此處填寫(xiě)答案",20);</p><p> t2.setFont(new Font("Serif",Font.PLAIN,12
50、));</p><p> button3=new JButton("開(kāi)始答題");</p><p> lbHandler3 h3=new lbHandler3();</p><p> button3.addActionListener(h3);</p><p> c.add(labe2, BorderLayout.
51、NORTH);</p><p> c.add(t2,BorderLayout.CENTER);</p><p> c.add(button3,BorderLayout.SOUTH);</p><p><b> try</b></p><p><b> {</b></p><
52、;p> sentence=in.readLine();</p><p> labe2.setText(sentence);</p><p> }catch (Exception e){}</p><p><b> }</b></p><p> public class lbHandler3 implem
53、ents ActionListener </p><p><b> {</b></p><p> public void actionPerformed(ActionEvent event)</p><p><b> {</b></p><p><b> try</b>
54、</p><p><b> {</b></p><p> String bmsg =new String(); </p><p> bmsg=t2.getText();</p><p> if(!bmsg.equals("quit"))</p><p>
55、 { </p><p> out.println(bmsg);</p><p> sentence=in.readLine();</p><p> labe2.setText(sentence); </p><p> } </p><p> }
56、catch (Exception e){} </p><p><b> }</b></p><p><b> } </b></p><p> } </p><p> public static void main(String args[])</p
57、><p><b> {</b></p><p> client d=new client(new JFrame("登陸"));</p><p><b> }</b></p><p><b> }</b></p><p> ser
58、vice.java:</p><p> package service;</p><p> import java.io.*;</p><p> import java.net.*;</p><p> import java.util.*;</p><p> import java.sql.*;</p&
59、gt;<p> public class service</p><p><b> {</b></p><p> static public void main(String args[]) throws IOException</p><p><b> {</b></p><p&
60、gt; Connection conn=null;</p><p> Statement stmt=null;</p><p> ResultSet rs=null;</p><p> String driverName = "sun.jdbc.odbc.JdbcOdbcDriver"; //加載JDBC驅(qū)動(dòng)</p><
61、;p> String dbURL = "jdbc:odbc:dnt31"; //連接服務(wù)器和數(shù)據(jù)庫(kù)</p><p> String userName = "sa"; //默認(rèn)用戶(hù)名</p><p> String userPwd = "199618"; //安裝sqlserver 2008時(shí)的密碼</p>
62、<p><b> try</b></p><p><b> {</b></p><p> Class.forName(driverName);//聲明使用的驅(qū)動(dòng)程序</p><p> conn=DriverManager.getConnection(dbURL,userName,userPwd);//創(chuàng)
63、建連接數(shù)據(jù)庫(kù)對(duì)象</p><p> System.out.println("Connection Successful!"); </p><p><b> }</b></p><p> catch(Exception e)</p><p><b> {</b></p
64、><p> System.err.println("OpenConn:"+e.getMessage());</p><p><b> }</b></p><p> ServerSocket svrsoc=null;</p><p> Socket client=null;</p>&
65、lt;p> InputStream inputdata=null;</p><p> OutputStream outputdata=null;</p><p> BufferedReader in=null;</p><p> PrintStream out=null;</p><p><b> try</b
66、></p><p><b> {</b></p><p> svrsoc=new ServerSocket(7000);</p><p> client=svrsoc.accept(); </p><p> inputdata=client.getInputStream(); //實(shí)例化對(duì)象返回客戶(hù)端
67、套接字的輸入流</p><p> in=new BufferedReader(new InputStreamReader(inputdata) );//實(shí)例化對(duì)象讀取數(shù)據(jù)輸入流 </p><p> outputdata=client.getOutputStream(); //實(shí)例化對(duì)象返回客戶(hù)端套接字的輸出流 </p><p> out=new
68、 PrintStream(outputdata); //實(shí)例化對(duì)象讀取數(shù)據(jù)輸出流</p><p> InetAddress clientIP=client.getInetAddress();//得到客戶(hù)端IP</p><p> System.out.println("Client's IP address:"+clientIP);//顯示客戶(hù)端IP
69、</p><p><b> int port;</b></p><p> port=client.getPort(); //得到客戶(hù)端端口號(hào)</p><p> System.out.println("Client's port:"+port);//顯示客戶(hù)端端口號(hào)</p><p>
70、out.println("Welcome!...輸入你想要的文件名 1或2...輸入quit退出");</p><p> String str=in.readLine(); //得到讀取的一個(gè)文本行 </p><p> System.out.println(str);</p><p> while(!str.equals("q
71、uit"))</p><p> { </p><p> System.out.println("Client said:"+str);//得到讀取的一個(gè)文本行</p><p> if(str.equals("1"))</p><p><b> {&l
72、t;/b></p><p> stmt=(Statement)conn.createStatement();//創(chuàng)建操作SQL語(yǔ)句的對(duì)象</p><p> String sql1="select * from dnt31.dbo.java where name='1'";</p><p> rs=stmt.execut
73、eQuery(sql1);</p><p><b> int n=0;</b></p><p> while(rs.next())</p><p><b> { </b></p><p> out.println("問(wèn)題"+rs.getString("
74、problem"));</p><p> str=in.readLine();</p><p> System.out.println(str);</p><p> if(str.equals(rs.getString("answer")))</p><p><b> n++;</b>
75、;</p><p><b> }</b></p><p> out.println("你答對(duì)題數(shù)是: "+n);</p><p> rs.close();</p><p> stmt.close(); </p><p> conn.close();</p>
76、<p><b> }</b></p><p> if(str.equals("2"))</p><p><b> {</b></p><p> stmt=(Statement)conn.createStatement();//創(chuàng)建操作SQL語(yǔ)句的對(duì)象</p><
77、p> String sql2="select * from dnt31.dbo.java where name='2'";</p><p> rs=stmt.executeQuery(sql2);</p><p><b> int n=0;</b></p><p> while(rs.next(
78、))</p><p><b> {</b></p><p> out.println("問(wèn)題"+rs.getString("problem"));</p><p> str=in.readLine(); </p><p> if(str.equals(rs.getStrin
79、g("answer")))</p><p><b> n++;</b></p><p><b> }</b></p><p> out.println("你答對(duì)題數(shù)是: "+n);</p><p> rs.close();</p><
80、;p> stmt.close(); </p><p> conn.close();</p><p><b> } </b></p><p> str="quit";</p><p><b> }</b></p><p> System.
81、out.println("Client want to leave.");</p><p><b> }</b></p><p> catch(Exception e)</p><p><b> {</b></p><p> System.out.println(&quo
82、t;Error:"+e);</p><p><b> }</b></p><p><b> finally</b></p><p><b> {</b></p><p> inputdata.close(); </p>
83、<p> outputdata.close(); </p><p> client.close(); </p><p> System.exit(0);</p><p><b> }</b></p><p><b> }</b&g
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)——記憶測(cè)試系統(tǒng)
- 打字訓(xùn)練測(cè)試軟件-java課程設(shè)計(jì)
- java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告---java實(shí)現(xiàn)畫(huà)筆系統(tǒng)
- java課程設(shè)計(jì)--酒店管理系統(tǒng)
- java課程設(shè)計(jì)---即時(shí)聊天系統(tǒng)
- java課程設(shè)計(jì)--注冊(cè)登錄系統(tǒng)
- java課程設(shè)計(jì)-文件管理系統(tǒng)
- java課程設(shè)計(jì)超市收銀系統(tǒng)
- java課程設(shè)計(jì)
- java課程設(shè)計(jì)----課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--學(xué)籍管理系統(tǒng)
- java學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告---考試系統(tǒng)
- java課程設(shè)計(jì)(班級(jí)管理系統(tǒng))
- java課程設(shè)計(jì)學(xué)籍管理系統(tǒng)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- java課程設(shè)計(jì)-- 新聞發(fā)布系統(tǒng)
- 學(xué)生管理系統(tǒng)-java課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
評(píng)論
0/150
提交評(píng)論