java實(shí)驗(yàn)報(bào)告_第1頁
java實(shí)驗(yàn)報(bào)告_第2頁
java實(shí)驗(yàn)報(bào)告_第3頁
java實(shí)驗(yàn)報(bào)告_第4頁
java實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)一 通用萬年歷給定某年某月某日是星期幾,能給出任何一年(12月)的輸出。輸出效果如下:月月月實(shí)現(xiàn)方法:定位光標(biāo)法:以月為單位,先計(jì)算出該月在屏幕上顯示的起始點(diǎn),利用定位光標(biāo)用循環(huán)來輸出該月的信息。該方法非常簡(jiǎn)單。非定位光標(biāo)法:月月月該方法以行為單位,輸出各個(gè)月的相應(yīng)行的數(shù)據(jù)??刂七^程比較復(fù)雜,要求把每月需控制的參數(shù)用結(jié)構(gòu)體定義。結(jié)構(gòu)體中的屬性大致包含:每月天數(shù)、一號(hào)周幾、數(shù)據(jù)的高度、開始輸出的控制參數(shù);二、實(shí)驗(yàn)內(nèi)容:import java.util.Calendar;class CldString day;int year=2008,month=0;void setDemo(int yea

2、r,int month)this.year=year;this.month=month;public String getCalendar()Stringa=new String42;Calendar 日歷=Calendar.getInstance();日歷.set(year,month-1,1);int 星期幾=日歷.get(Calendar.DAY_OF_WEEK)-1;int day=0;if(month=1|month=3|month=5|month=7|month=9|month=10|month=12)day=31;if(month=4|month=6|month=8|month=

3、11)day=30;if(month=2)if(year%4=0)&(year%100!=0)|(year%400=0)day=29;else day=28;for(int i=0;i星期幾;i+)ai=;for(int i=星期幾,n=1;i星期幾+day;i+)ai=String.valueOf(n);n+;for(int i=星期幾+day;ia.length;i+)ai=;return a;class testpublic static void main(String args)Cld cld=new Cld();cld.setDemo(2012,8);String a=cld.ge

4、tCalendar();char str= 日 一 二 三 四 五 六 .toCharArray();for(char c:str)System.out.printf(%3c, c);for(int i=0;ia.length;i+)if(i%7=0)System.out.println();System.out.printf(%4s,ai);java實(shí)驗(yàn)二、類與對(duì)象一、實(shí)驗(yàn)?zāi)康?. 掌握類的聲明;2. 掌握對(duì)象的創(chuàng)建;3. 掌握方法的定義和調(diào)用;4. 掌握構(gòu)造方法執(zhí)行機(jī)理和使用;5. 掌握private、public等修飾符;6. 掌握this的各種用法。二、實(shí)驗(yàn)內(nèi)容1 編程創(chuàng)建一個(gè)Box類

5、,在其中定義三個(gè)變量表示一個(gè)立方體的長(zhǎng)、寬和高,再定義一個(gè)方法setDemo對(duì)這三個(gè)變量進(jìn)行初始化,然后定義一個(gè)方法求立方體的體積。創(chuàng)建一個(gè)對(duì)象,求給定尺寸的立方體的體積。Class Boxfloat height;float width;float lenght;void setDemo(float height,float width,float lenght)this.height=height;this.width=width;this.lenght=lenght;float method()return height*width*lenght;public class test/*

6、* param args */public static void main(String args) / TODO Auto-generated method stubBox box=new Box();box.setDemo(15,10,12);System.out.println(box.method();2 將上題的方法setDemo改用構(gòu)造函數(shù)實(shí)現(xiàn)初始化。Box(float weight,float height,float length)This.weight=weight;This.height=height;This.length=length;三、思考題1 一個(gè)方法或一個(gè)塊內(nèi)

7、定義的變量是否可以在方法外或塊外使用?這種變量稱為什么?方法的形式參數(shù)是否可以在方法之外使用?答:方法和塊中定義的變量不可以在方法以外的方法或者塊中使用,這種變量叫局部變量,方法的形式參數(shù)不可以在方法之外使用!2 為什么說構(gòu)造函數(shù)是一種特殊的方法?特殊在哪里?構(gòu)造函數(shù)什么時(shí)候執(zhí)行?被誰調(diào)用?構(gòu)造方法沒有類型,名字跟類的方法一樣,構(gòu)造函數(shù)在主函數(shù)中被類創(chuàng)建的對(duì)象調(diào)用!3 編程創(chuàng)建一個(gè)Point類,在其中定義兩個(gè)變量表示一個(gè)點(diǎn)的坐標(biāo)值,再定義構(gòu)造函數(shù)初始化為坐標(biāo)原點(diǎn),然后定義一個(gè)方法實(shí)現(xiàn)點(diǎn)的移動(dòng),再定義一個(gè)方法打印當(dāng)前點(diǎn)的坐標(biāo)。并創(chuàng)建一個(gè)對(duì)象驗(yàn)證。class pointint x,y;point(

8、)x=0;y=0;void method(int a,int b)this.x+=a;this.y+=b;int getpointx()return x;int getpointy()return y;public class test /* * param args */public static void main(String args) / TODO Auto-generated method stubpoint p=new point();System.out.println(x:+p.getpointx();System.out.println(y:+p.getpointy();p

9、.method(2,2);System.out.println(x:+p.getpointx();System.out.println(y:+p.getpointy();結(jié)果輸出:X:0Y:0X:2Y:24 定義一個(gè)類實(shí)現(xiàn)銀行帳戶的概念,包括的變量有帳號(hào)和存款余額,包括的方法有存款、取款和查詢余額。定義主類,創(chuàng)建帳戶類的對(duì)象,并完成相應(yīng)操作。實(shí)驗(yàn)內(nèi)容:import java.util.Scanner;class testint x=100000;int a,b,number;void setDemo(int x)this.x=x;void password(int number)this.nu

10、mber=number;void store(int a)this.x+=a;void drawMoney(int b)this.x-=b;int get()return x;public class account /* * param args */int a=new int3;public static void main(String args) / TODO Auto-generated method stubScanner reader=new Scanner(System.in);test test=new test();while(true)System.out.println

11、(請(qǐng)輸入您的賬號(hào):);int number=reader.nextInt();test.password(number);System.out.println(請(qǐng)輸入你的選擇:0-查詢余額 1-存款 2-取款);int i=reader.nextInt();if(i=1)System.out.println(請(qǐng)輸入存款金額:);int a=reader.nextInt();test.store(a);System.out.println(存款后總的金額:+test.get();else if(i=2)System.out.println(請(qǐng)輸入取款金額:);int b=reader.nextI

12、nt();test.drawMoney(b);System.out.println(取款后剩余的金額:+test.get();if(i=0)System.out.println(賬戶現(xiàn)有金額為:+test.get();輸出結(jié)果:(1)輸出:請(qǐng)輸入您的賬號(hào):輸入:11210111(2)輸出:請(qǐng)輸入你的選擇:0-查詢余額 1-存款 2-取款輸入:1時(shí)(3)輸出:請(qǐng)輸入存款金額:輸入:(如)200(4)輸出:存款后總的金額:100200;然后繼續(xù):(1)、(2)、(3)、(4)四、試驗(yàn)中遇到的問題:在思考題的第四個(gè)問的時(shí)候:while的位置不一樣所以循環(huán)的內(nèi)容不一樣,先不論后來輸入什么,都只能執(zhí)行最

13、開始的輸入的選擇,不過改了之后就可以在控制臺(tái)按自己的選擇輸入輸出了!實(shí)驗(yàn)四類的繼承一、實(shí)驗(yàn)?zāi)康?. 掌握(繼承)類的聲明;8. 掌握構(gòu)造方法執(zhí)行機(jī)理;9. 掌握private、protected、public等修飾符;10. 掌握super的各種用法; 11. 掌握重載;二、實(shí)驗(yàn)內(nèi)容定義一個(gè)圓類Circle,成員變量:圓心,半徑;成員方法:構(gòu)造方法、get和set半徑的方法、計(jì)算面積和周長(zhǎng)的方法。定義圓柱和圓錐類,定義相應(yīng)的變量成員和成員方法。使用以上類編程,輸出圓柱和圓錐面積和體積。class geometrydouble pi=3.14;int r,r1,h,R,H;void setDem

14、o(int r,int r1,int h,int R,int H)this.r=r;this.r1=r1;this.h=h;this.R=R;this.H=H;double method1()return pi*r*r;double method2()return 2*pi*r;double method3()return pi*r1*r1*h;double method4()return pi*R*R*H/3;public class test /* * param args */public static void main(String args) / TODO Auto-generat

15、ed method stubgeometry g=new geometry();g.setDemo(5,4,6,9,4);System.out.println(g.method1();System.out.println(g.method2();System.out.println(g.method3();System.out.println(g.method4();三、思考題定義抽象類Shape表示一般二維圖形。Shape具有抽象方法area和perimeter分別計(jì)算形狀的面積和周長(zhǎng)。試定義一些二維形狀類(如矩形、三角形、圓形、橢圓形等),這些類均為Shape類的子類。完成相關(guān)類的定義后,

16、定義含有main方法的類來使用這些類的相應(yīng)對(duì)象,輸出相關(guān)信息:如對(duì)象所代表圖形形狀、基本數(shù)據(jù)(半徑、長(zhǎng)寬高等等)以及面積、周長(zhǎng)等計(jì)算值。答:具體實(shí)驗(yàn)代碼如下:實(shí)驗(yàn)五繼承與多態(tài)一、實(shí)驗(yàn)?zāi)康?2. 掌握抽象類的聲明;13. 掌握多態(tài)的執(zhí)行機(jī)理;14. 掌握上轉(zhuǎn)型的使用;二、實(shí)驗(yàn)內(nèi)容定義抽象類Shape,抽象方法為showArea(),求出面積并顯示,定義矩形類Rectangle,正方形類Square,圓類 Circle,根據(jù)各自的屬性,用showArea方法求出各自的面積,在main方法中根據(jù)隨機(jī)數(shù)的值來調(diào)用3個(gè)對(duì)象中的showArea方法。三、隨機(jī)數(shù)產(chǎn)生方法java.lang.Math .Ran

17、dom()靜態(tài)方法Math.random()*1000);/產(chǎn)生0-1000的整數(shù)隨機(jī)數(shù) 創(chuàng)建java.util.Random對(duì)象Random random=new Random();/創(chuàng)建random對(duì)象int intN0-0umber=random.nextI實(shí)驗(yàn)具體步驟:public abstract class shapeint r,a,b;abstract double showArea();void setDemo(int r,int a,int b)this.r=r;this.a=a;this.b=b;class circle extends shapedouble showAr

18、ea()double pi=3.14;return pi*r*r;class rectangle extends shapedouble showArea()return a*b;class testpublic static void main(String args)circle circle=new circle();rectangle rectangle=new rectangle();int r=(int)(Math.random()*1000);int a=(int)(Math.random()*1000);int b=(int)(Math.random()*1000);circl

19、e.setDemo(r, a, b);rectangle.setDemo(r,a,b);System.out.println(circle.showArea();System.out.println(rectangle.showArea();System.out.println(a+ +b+ +r+ );實(shí)驗(yàn)輸出:假如隨機(jī)產(chǎn)生的數(shù)是:144 617 344輸出結(jié)果是:371575.0400000000488848.0實(shí)驗(yàn)過程中所遇到的問題:在abstract方法中定義了一個(gè)void setdemo(int r,int a,int b)的非抽象方法,所以在調(diào)用的時(shí)候如:circle.setdem

20、o(r,a,b),rectangle(r,a,b),所以在設(shè)置變量值得時(shí)候就設(shè)置了冗余的如(a,b)或者(r),怎樣在不添加方法setdemo()的情況下改善這種情況?實(shí)驗(yàn)六接口與多態(tài)一、實(shí)驗(yàn)?zāi)康?. 學(xué)習(xí)如何定義接口2. 掌握接口的實(shí)現(xiàn)方式3. 使用實(shí)現(xiàn)了接口的類4. 掌握接口回調(diào)5. 理解接口與抽象類的區(qū)別二、實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)的任務(wù)是設(shè)計(jì)和實(shí)現(xiàn)一個(gè)Soundable接口,該接口具有發(fā)聲功能,同時(shí)還能調(diào)節(jié)聲音大?。╬laySound( )、decreaseVolume( )、stopSound( ))。Soundable接口的這些功能將會(huì)由3種聲音設(shè)備來實(shí)現(xiàn),它們分別是:Radio,Walkm

21、an和Mobilephone。最后還需設(shè)計(jì)一個(gè)應(yīng)用程序類來使用這些實(shí)現(xiàn)了Soundable接口的聲音設(shè)備。程序運(yùn)行時(shí),先詢問用戶想聽哪知設(shè)備,然后程序按照該設(shè)備的工作方式來輸出發(fā)音。程序運(yùn)行效果如下:import java.util.Scanner;abstract class soundableabstract void playSound();abstract void decreaseVolume();abstract void stopSound();class Radio extends soundablevoid playSound()System.out.println(收音機(jī)播放廣播:中央人民廣播電臺(tái));void decreaseVolume()System.out.println(增大收音機(jī)音量);void stopSound()System.out.println(關(guān)閉收音機(jī));class Walkman extends soundablevoid playSound()System.out.println(隨身聽發(fā)出音樂:1234567);void decreaseVo

溫馨提示

  • 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)論