《Java程序設(shè)計(jì)》上機(jī)實(shí)驗(yàn)_第1頁
《Java程序設(shè)計(jì)》上機(jī)實(shí)驗(yàn)_第2頁
《Java程序設(shè)計(jì)》上機(jī)實(shí)驗(yàn)_第3頁
《Java程序設(shè)計(jì)》上機(jī)實(shí)驗(yàn)_第4頁
《Java程序設(shè)計(jì)》上機(jī)實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)1: 熟悉上機(jī)環(huán)境,編寫并運(yùn)行簡(jiǎn)單的java程序(3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 熟悉Java程序開發(fā)環(huán)境J2SDK+JCreator的安裝及使用(2) 熟悉Java Application和Applet程序的結(jié)構(gòu)及開發(fā)步驟(3) 熟練掌握if語句的使用(4) 掌握Math.sqrt()等常用數(shù)學(xué)函數(shù)的用法(5) 熟悉System.out.print()的用法實(shí)驗(yàn)內(nèi)容及要求按Java Application和Applet兩種方式分別編寫程序,求一元二次方程ax2+bx+c=0的根(系數(shù)在程序中給定),并輸出。思考并驗(yàn)證(1) 分別給定以下

2、幾組系數(shù),給出輸出結(jié)果 a=1,b=5, c=3 a=4, b=4, c=1a=2, b=3, c=2: + i + i(2) 如果程序的public類的類名和源文件的文件名不一樣會(huì)有什么問題?(3) 將類的public修飾去掉是否可行?接著再將類名換為其它是否可行?這說明了什么?(4) 將程序中main前面的public去掉,重新編譯執(zhí)行你的程序,你看到了什么信息?(5) 將程序中main前面的static去掉,重新編譯執(zhí)行你的程序,你看到了什么信息?為什么?(6) 本次上機(jī)中,你還遇到了什么問題,是如何解決的?班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)2:控制流程1(

3、3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 進(jìn)一步熟悉使用if語句(2) 掌握循環(huán)語句實(shí)現(xiàn)循環(huán)的方法實(shí)驗(yàn)內(nèi)容及要求輸出時(shí),只使用下面的語句:System.out.print(“ ”); /輸出一個(gè)空格,并且不換行System.out.print(“*”); /輸出一個(gè)字符*,并且不換行System.out.print(“+”); /輸出一個(gè)字符+,并且不換行System.out.println(“*”;) /輸出一個(gè)字符*,并換行編寫程序輸出(注:在圖形的中心處有一個(gè)加號(hào)+):* * * * * * * * * + * * * * * * * * * *思考并驗(yàn)證下面程序片段給出了從鍵盤輸入一個(gè)整數(shù)的方法:imp

4、ort java.io.*;InputStreamReader ir;BufferedReader in;ir=new InputStreamReader(System.in);in=new BufferedReader (ir);try String s=in.readLine();int i=Integer.parseInt(s);/轉(zhuǎn)換成整形catch(IOException e)(1) 如何修改程序,使得輸出的圖形可以很方便的在水平方向上移動(dòng)?(2) 如何修改你的程序,按輸入行數(shù)n(為奇數(shù))輸出圖形?選做:編程求支付方法的種數(shù):取1元,2元,5元紙幣10張,付給18元,有幾種辦法?班級(jí)

5、號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)3:控制流程2(3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 掌握數(shù)據(jù)類型的含義(2) 掌握break語句的使用(3) 掌握用三種循環(huán)語句實(shí)現(xiàn)循環(huán)以及循環(huán)嵌套的方法實(shí)驗(yàn)內(nèi)容及要求編程,計(jì)算112233+66思考并驗(yàn)證(1) 將內(nèi)層循環(huán)改為另一種循環(huán)語句,比較哪種循環(huán)語句更適用于本程序?(2) 修改程序使之計(jì)算112233+2020,你的程序能得出正確結(jié)果嗎?若不能,應(yīng)如何修改?(3) 考慮如何通過使用break語句修改這個(gè)程序,求出最大值n,使得1122+nn小于等于long數(shù)據(jù)類型所能表示的最大值(即Long.MAX_VALUE),并給出1122+nn的

6、確切值。選做:求有幾組和為1000的連續(xù)正整數(shù),并輸出這些整數(shù)。班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)4: 類和對(duì)象(數(shù)組)(3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 掌握J(rèn)ava語言中類和對(duì)象的基本概念(2) 掌握J(rèn)ava程序設(shè)計(jì)中類和對(duì)象的定義及使用(3) 學(xué)習(xí)使用數(shù)組,掌握數(shù)組的初始化方法及數(shù)組元素的引用實(shí)驗(yàn)內(nèi)容及要求276951438編程,求解和為15的棋盤游戲問題。要求將從1到9的九個(gè)數(shù)填入33的棋盤中,使得各行、各列以及兩個(gè)對(duì)角線上的三個(gè)數(shù)之和均為15,并打印出結(jié)果。如左圖。思考并驗(yàn)證(1) 在程序中,你用到了數(shù)組了嗎,使用的是幾維數(shù)組?如果沒有使用,在程序中該如何使用數(shù)組

7、?它給編程帶來了什么好處?(2) 編程思路:(3) 在程序中,你定義了哪些類,它們分別具有什么含義?(4) 在程序中,你是否生成了自己定義類的對(duì)象?如果要求不可以生成類的對(duì)象實(shí)例,程序應(yīng)如何修改?班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)5: 繼承、多態(tài)(接口和包)(3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 掌握J(rèn)ava語言中繼承和多態(tài)的相關(guān)概念(2) 掌握J(rèn)ava程序設(shè)計(jì)中繼承和多態(tài)機(jī)制的使用(3) 掌握J(rèn)ava語言中接口和包的概念及使用實(shí)驗(yàn)內(nèi)容及要求仿真農(nóng)場(chǎng)一個(gè)哺乳動(dòng)物類如下所示:public class Mammalprotected int age = 2;protected in

8、t weight = 5;public Mammal()System.out.println(“Mammal constructor”);int getAge()return age;void setAge(int a)age = a;int getWeight()return weight;void setWeight(int w)weight = w;void move()System.out.println(“Mammal move one step”);void speak()System.out.println(“Mammal speak!”);void sleep()System.

9、out.println(“shhh, Im sleeping.”);狗屬哺乳動(dòng)物,且它的屬性有品種之分(在哺乳類基礎(chǔ)上增加品種數(shù)據(jù)成員),叫聲區(qū)別于其他動(dòng)物(輸出“Woof!”),還會(huì)搖尾巴(增加成員函數(shù),輸出“Tail wagging”),乞討食物(增加成員函數(shù),輸出“begging for food”)。貓、馬、豬也屬于哺乳動(dòng)物,其叫聲分別為:“Meow!”,“Winnie!”,“Oink!”。編程分別使各個(gè)動(dòng)物表現(xiàn)為不一樣的行為。要求將所有的動(dòng)物類放置于animal.mammal包下。定義兩個(gè)新的類,表示寵物貓和寵物狗。要求:這兩個(gè)類能輸出寵物所屬的主人,價(jià)格等信息;將這兩個(gè)類放置于an

10、imal.mammal.pet包下。思考并驗(yàn)證(1) 在程序中的哪些地方使用到了多態(tài)的機(jī)制?多態(tài)性為我們帶來了什么好處?(2) 試著把源文件放到另外一個(gè)目錄下,然后編譯,看看會(huì)得到什么信息?為什么會(huì)出現(xiàn)這種情況?(3) 在定義寵物類的時(shí)候,是否使用了接口?如果沒有使用,該定義一個(gè)什么接口,并如何修改程序?接口的使用為程序帶來了什么好處?班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)6: 異常處理(3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 理解異常的概念(2) 掌握J(rèn)ava程序設(shè)計(jì)中異常的處理機(jī)制實(shí)驗(yàn)內(nèi)容及要求一、輸入以下代碼,編譯調(diào)試并分析執(zhí)行結(jié)果程序1:編寫用于演示異常處理機(jī)制的try-ca

11、tch代碼,用于測(cè)試ArrayIndexOutOfBoundsException異常,請(qǐng)調(diào)試:Public class CatchExceptionpublic static void main(String args)int arr=new int10;tryarr10=10;catch(ArrayIndexOutOfBoundsException e)e=new ArrayIndexoutBoundsException(“數(shù)組下標(biāo)越界!”);throw e;輸入以上代碼,并編譯和調(diào)試,最后分析結(jié)果。程序2:編寫用于演示異常處理機(jī)制try-catch-finally的代碼。在此程序中,當(dāng)一個(gè)

12、數(shù)字除以0時(shí),將引發(fā)ArithmeticException異常,引發(fā)的異常被catch捕獲。Class Program2String name=”內(nèi)蒙古大學(xué)軟件學(xué)院”Int no1=10;Int no2=20;Program2()trySystem.out.println(name);System.out.println(“相除結(jié)果為:”+no1/no2);catch(ArithmeticException I)System.out.println(“不能除以0!”);finallyname=null;system.out.println(“Finally 已執(zhí)行!”); public sta

13、tic void main(String args)new Program2();二、.編寫一個(gè)程序,用于將來自用戶的兩個(gè)數(shù)字接受為命令行參數(shù)。將第一個(gè)數(shù)字除以第二個(gè)數(shù)字并顯示結(jié)果,處理可能的異常提示:使用兩個(gè)catch語句,一個(gè)用于捕獲ArrayIndexOutOfBoundsException異常(從命令行傳來的參數(shù)個(gè)數(shù)不對(duì)),而另一個(gè)用于捕獲ArithmaticException異常。選做:編寫一個(gè)程序,用于根據(jù)用戶輸入的命令行參數(shù)數(shù)量來計(jì)算長(zhǎng)方形、正方形、三角形的面積。如果輸入的參數(shù)為一個(gè)、二個(gè)、三個(gè)則它們應(yīng)分別對(duì)應(yīng)正方形、長(zhǎng)方形、三角形,如果沒有參數(shù),則通過異常處理方法現(xiàn)實(shí)錯(cuò)誤消息。

14、(用于計(jì)算面積的方法是一個(gè)重載的方法)。提示:定義一個(gè)抽象的父類,并提供一個(gè)抽象的方法area(). 再派生出三個(gè)子類,重寫area()方法,然后在main方法中編寫測(cè)試邏輯。班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)7: 輸入輸出(3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 了解流類及相關(guān)的包(2) 掌握常用的流類及其成員函數(shù)的使用方法(3) 學(xué)習(xí)輸入/輸出的基本方式(4) 鞏固常用組件的使用及其事件的處理方式實(shí)驗(yàn)內(nèi)容及要求建立一個(gè)班級(jí)下拉式列表,列表項(xiàng)中有2004(1)班,2004(2)班,2004(3)班和2004(4)班。當(dāng)點(diǎn)擊某個(gè)選項(xiàng)時(shí),將其成績(jī)單顯示在文本區(qū)中。思考并驗(yàn)證(1)

15、抓取程序運(yùn)行的一個(gè)界面:(2) 你的程序涉及到的文件有:(3) 你是通過什么途徑建立這些文件的?(4) 能否用word建立這些文件? 班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)8: 界面布局(3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 熟練運(yùn)用標(biāo)簽、按鈕、文本框等基本組件,掌握按鈕等組件的事件處理方法(2) 熟悉JTextArea的用法(3) 熟悉下拉列表框的用法實(shí)驗(yàn)內(nèi)容及要求創(chuàng)建一個(gè)GUI應(yīng)用程序,用于轉(zhuǎn)換若干種貨幣。提供給用戶一個(gè)JTextArea以用于輸入數(shù)量。同時(shí)還應(yīng)提供給用戶一種選擇源貨幣名稱和目的貨幣名稱的途徑。同時(shí)為自己的測(cè)試設(shè)置至少三種不同的貨幣名稱及轉(zhuǎn)換匯率。思考并驗(yàn)證(1

16、) 畫出程序運(yùn)行效果圖:班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)9: Applet(3學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 掌握J(rèn)ava Applet程序的結(jié)構(gòu)和運(yùn)行機(jī)制(2) 掌握J(rèn)ava Applet程序的生命周期中觸發(fā)的各種事件(3) 復(fù)習(xí)Java語言中類的繼承與方法的重載機(jī)制實(shí)驗(yàn)內(nèi)容及要求編寫一個(gè)Applet程序,在窗體中分別繪制由*組成的正方形和圓,盡量保證*號(hào)之間的間距相等。如下圖所示:* * * * * * * * * * * * * * * * * * * * * * * * * *思考并驗(yàn)證(1) 思考一個(gè)方法,驗(yàn)證Applet程序運(yùn)行的生命周期中init、start

17、、stop、destroy、paint幾個(gè)方法被調(diào)用的時(shí)機(jī)。實(shí)現(xiàn)這個(gè)方法,并給出驗(yàn)證的結(jié)果。(2) 思路:(3) 談一談自己對(duì)Java Application程序與Applet程序之間區(qū)別的一些認(rèn)識(shí)和看法。班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)10: 線程(6學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 掌握多線程的概念與基本操作方法(2) 掌握線程的并發(fā)控制技術(shù)(3) 掌握線程同步技術(shù)實(shí)驗(yàn)內(nèi)容及要求一、 編寫程序創(chuàng)建5個(gè)線程,分別顯示5個(gè)不同的字符串。分別用繼承Thread類以及實(shí)現(xiàn)Runnable接口的兩種方式實(shí)現(xiàn)。二、編寫生產(chǎn)者/消費(fèi)者模式的程序。生產(chǎn)者每隔100ms產(chǎn)生一個(gè)09之間的

18、一個(gè)數(shù),保存在一個(gè)MyNumber類型的對(duì)象中,并顯示出來。只要這個(gè)MyNumber對(duì)象中保存了新的數(shù)字,消費(fèi)者就將其取出來顯示。試定義MyNumber類,編寫消費(fèi)者、生產(chǎn)者程序,并編寫主程序創(chuàng)建一個(gè)MyNumber對(duì)象,一個(gè)生產(chǎn)者線程、一個(gè)消費(fèi)者線程并將這兩個(gè)線程啟動(dòng)。班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)11: Java網(wǎng)絡(luò)程序設(shè)計(jì)(6學(xué)時(shí))實(shí)驗(yàn)?zāi)康?1) 掌握網(wǎng)絡(luò)通信的基礎(chǔ)知識(shí)及Java對(duì)網(wǎng)絡(luò)通信的支持(2) 掌握J(rèn)ava基于URL的3W資源訪問技術(shù)(3) 掌握基于底層Scoket的有連接和無連接的網(wǎng)絡(luò)通信方法實(shí)驗(yàn)內(nèi)容及要求一、 編寫Applet顯示或播放指定URL的圖像和聲音文件。二、編寫一個(gè)客戶/服務(wù)器程序,服務(wù)器的功能是計(jì)算圓的面積??蛻舳藢A的半徑發(fā)送給服務(wù)器端,服務(wù)器端計(jì)算得出的圓面積發(fā)送給客戶端,并在客戶端顯示。班級(jí)號(hào)_學(xué)號(hào)_姓名_題號(hào).java(多文件應(yīng)壓縮為rar):實(shí)驗(yàn)12: 小綜合(6學(xué)時(shí))實(shí)驗(yàn)?zāi)康?4) 學(xué)習(xí)布局的應(yīng)用(5) 鞏固標(biāo)簽、文本框、按鈕等圖形界面組件的使用,鞏固組件的事件處理方法。(6) 提高語言成分的綜合運(yùn)用能力(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論