太原理工大學(xué)java實(shí)驗(yàn)5到.doc
《太原理工大學(xué)java實(shí)驗(yàn)5到.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《太原理工大學(xué)java實(shí)驗(yàn)5到.doc(10頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
本科實(shí)驗(yàn)報(bào)告 課程名稱: Java語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目: 多線程編程 實(shí)驗(yàn)地點(diǎn): 軟件樓 專業(yè)班級(jí):軟件工程1410 學(xué)號(hào): 2014005791 學(xué)生姓名: 王超 指導(dǎo)教師: 李君嬋 2016年1 月 17 日 實(shí)驗(yàn)名稱 實(shí)驗(yàn)五 多線程編程 實(shí)驗(yàn)?zāi)康暮鸵? (1) 現(xiàn)成的概念、線程的生命周期。 (2) 多線程的編程:擴(kuò)展Thread類與使用Runnable接口。 (3) 使用多線程機(jī)制實(shí)現(xiàn)動(dòng)畫 實(shí)驗(yàn)內(nèi)容 (1) 運(yùn)行下面的程序,理解用創(chuàng)建Thread子類的方法實(shí)現(xiàn)多線程。 //S09_01_Thread.Java Import java.util.*; class S09_01_Thread extends Thread { int pauseTime; String name; public S09_01_Thread(int x,String n){ pauseTime=x; name=n; } public void run(){ while(true){ try{ system.out.println(name+":"+new Date(System.currentTimeMillis())); Tread.sleep(pauseTime); }catch(Exception e){System.out.println(e);} } } static public void main(String srgs[]){ S09_01_Thread tp1=new S09_01_Thread(1000,"Fast"); tp1.start(); S09_01_Thread tp2=new S09_01_Thread(3000,"Slow"); tp2.start(); } } (2) 運(yùn)行下面的程序,理解用實(shí)現(xiàn)Runnable接口的方法實(shí)現(xiàn)多線程。 //S09_02_Thread.Java Import java.util.*; class S09_02_Thread implements Runnable { int pauseTime; String name; public S09_02_Thread(int x,String n){ pauseTime=x; name=n; } public void run(){ while(true){ try{ system.out.println(name+":"+new Date(System.currentTimeMillis())); Tread.sleep(pauseTime); }catch(Exception e){System.out.println(e);} } } static public void main(String srgs[]){ Thread t1=new Thread(new S09_02_Thread(1000,"Fast")); t1.start(); Thread t2=new Thread(new S09_02_Thread(3000,"Slow")); t2.start(); } } (3) 創(chuàng)建簡(jiǎn)單的程序ThreeThread.java,該程序?qū)?chuàng)建三個(gè)線程,每個(gè)線程應(yīng)當(dāng)顯示它所運(yùn)行的時(shí)間(可以考慮使用Date類或Calendar類)。 主要儀器設(shè)備 筆記本計(jì)算機(jī) 實(shí)驗(yàn)記錄(寫出實(shí)驗(yàn)內(nèi)容中3的程序代碼和運(yùn)行結(jié)果) 3.package com.wangchao.exercise5; import java.util.Date; public class Threethread extends Thread { public static void main(String[] args) { Threethread t1 = new Threethread(); t1.start(); Threethread t2 = new Threethread(); t2.start(); Threethread t3 = new Threethread(); t3.start(); } public void run() { System.out.println("當(dāng)前運(yùn)行的線程 " + this.getName() + " " + new Date(System.currentTimeMillis())); } } 遇到的問題和解決方法 在編寫程序時(shí)對(duì)于接口的概念理解不深,通過自己看書實(shí)驗(yàn)加深了認(rèn)識(shí)。 心得體會(huì) 線程是提高cpu運(yùn)行效率的方法,內(nèi)容很重要,需要認(rèn)真學(xué)習(xí)和理解。 本科實(shí)驗(yàn)報(bào)告 課程名稱: Java語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目: 圖形用戶界面編程 實(shí)驗(yàn)地點(diǎn): 軟件樓 專業(yè)班級(jí):軟件工程1410 學(xué)號(hào): 2014005791 學(xué)生姓名: 王超 指導(dǎo)教師: 李君嬋 2016年1 月 17 日 實(shí)驗(yàn)名稱 實(shí)驗(yàn)六 圖形用戶界面編程 實(shí)驗(yàn)?zāi)康暮鸵? 掌握文本組件、按鈕和單、復(fù)選按鈕組件的使用;掌握列表的使用,鼠標(biāo)、鍵盤事件的處理;掌握布局控制的方法。 實(shí)驗(yàn)內(nèi)容 (1) 編寫一個(gè)程序響應(yīng)鼠標(biāo)事件,當(dāng)鼠標(biāo)事件發(fā)生時(shí),在狀態(tài)條顯示相應(yīng)的時(shí)間信息。提示:使用showStatus(字符串)方法。 (2) 試設(shè)計(jì)一窗口,內(nèi)含一個(gè)按鈕。開始運(yùn)行時(shí),按鈕顯示“Click Me”字樣,當(dāng)按鈕按下時(shí),按鈕顯示為“Click Me Again”字樣,再按一次,則按鈕顯示“Click Me”字樣,依次循環(huán)。 (3) 仿照Windows 2000/XP系統(tǒng)提供掃雷游戲編寫一個(gè)類似功能和界面的掃雷程序。 主要儀器設(shè)備 筆記本計(jì)算機(jī) 實(shí)驗(yàn)記錄(寫出實(shí)驗(yàn)內(nèi)容中2的程序代碼和運(yùn)行結(jié)果) 2.package com.wangchao.exercise6; import javax.swing.*; import java.awt.event.*; public class Clickme { JButton btn; public static void main(String[] args) { JFrame frm = new JFrame(); frm.setLayout(null); frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton btn = new JButton("Click Me"); btn.setBounds(45, 65, 200, 30); frm.getContentPane().add(btn); ButtonHandle btnHandler = new ButtonHandle(btn); btn.addActionListener(btnHandler); frm.setBounds(400, 200, 400, 200); frm.setVisible(true); } } class ButtonHandle implements ActionListener { JButton btn; public ButtonHandle(JButton btn) { this.btn = btn; } public void actionPerformed(ActionEvent e) { if (btn.getText().equals("Click Me")) { btn.setText("Click Me Again"); } else btn.setText("Click Me"); } } 遇到的問題和解決方法 在編寫時(shí),有些方法記不住,就會(huì)翻閱書籍,把那些組件內(nèi)容都給添加上。 心得體會(huì) GUI是java中一個(gè)很有意思的編程,實(shí)現(xiàn)了可視化的界面,做完之后很有成就感。也學(xué)到了很多內(nèi)容。 本科實(shí)驗(yàn)報(bào)告 課程名稱: Java語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目: 輸入與輸出 實(shí)驗(yàn)地點(diǎn): 軟件樓 專業(yè)班級(jí):軟件工程1410 學(xué)號(hào): 2014005791 學(xué)生姓名: 王超 指導(dǎo)教師: 李君嬋 2016年1 月 17 日 實(shí)驗(yàn)名稱 實(shí)驗(yàn)七 輸入與輸出 實(shí)驗(yàn)?zāi)康暮鸵? (1) 掌握J(rèn)ava兩種基本輸入/輸出流類的使用。 (2) 掌握J(rèn)ava文件類型的使用。 (3) 掌握文件的輸入、輸出方法。 實(shí)驗(yàn)內(nèi)容 (1) 編寫程序,實(shí)現(xiàn)從鍵盤輸入字符串并在屏幕上輸出。 (2) 利用Java文件類File的方法,獲取磁盤文件的文件名、長(zhǎng)度、大小等特性。 (3) 編寫程序,利用Java字符流文件輸入/輸出類,實(shí)現(xiàn)將源程序復(fù)制到另一個(gè)文件中。 (4)編寫一個(gè)程序,比較兩個(gè)文件的內(nèi)容是否相同。 (5)編寫一個(gè)程序,求2~200之間的素?cái)?shù),并將結(jié)果保存在文件prime.dat中。再?gòu)脑撐募凶x取內(nèi)容并在屏幕上顯示出來(lái)。 主要儀器設(shè)備 筆記本計(jì)算機(jī) 實(shí)驗(yàn)記錄(寫出實(shí)驗(yàn)內(nèi)容中3的程序代碼和運(yùn)行結(jié)果) 3.package com.wangchao.exercise7; import java.io.*; public class Num3 { public static void main(String[] args) throws IOException { if (args.length < 2) { System.err.println("請(qǐng)輸入兩個(gè)文件,例如:c:/1.txt c:/2.txt"); System.exit(0); } String word; StringBuffer line = new StringBuffer(); BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(args[0]))); while ((word = br.readLine()) != null) { line.append(word + "\r\n"); } br.close(); BufferedWriter wr = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(args[1]))); wr.write(line.toString()); System.out.println("文件復(fù)制成功!"); wr.close(); } } 遇到的問題和解決方法 在編寫比較文件內(nèi)容是否一致時(shí),遇到了問題,通過詢問同學(xué),解決的問題。 心得體會(huì) 在編寫時(shí),應(yīng)該明白關(guān)于流的概念,對(duì)流進(jìn)行一個(gè)透徹的理解。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 太原理工 大學(xué) java 實(shí)驗(yàn)
鏈接地址:http://m.jqnhouse.com/p-6690639.html