Java程序練習(xí)100題_第1頁
Java程序練習(xí)100題_第2頁
Java程序練習(xí)100題_第3頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、上機(jī)練習(xí)題練習(xí)1 (4)1. 取兩個(gè)小于1000的正隨機(jī)數(shù),若兩個(gè)數(shù)均小于 10,先將它們都放大 50倍,否則不改變這兩個(gè)數(shù) 最后,求這兩個(gè)數(shù)的和并將結(jié)果輸出。要求這些輸出結(jié)果僅保留小數(shù)點(diǎn)后4位(不需四捨五入)。public class Applet1 exte nds Appletpublic void init()Label out 仁new Label("");Label out2=new Label("");double x,y;add(out1);add(out2);x=Math.random( )*1000;y=Math.random( )*

2、1000;if(x<10 &y<10) x*=50;y*=50;out1.setText(""+x+"+"+y+" 約等于”);out2.setText(""+( in t)(x+y)*10000)/10000.0);2. 取一個(gè)小于10000的正隨機(jī)整數(shù),并輸出該數(shù)的平方根。要求這些輸出結(jié)果在四捨五入后保留小 數(shù)點(diǎn)后4位。public class Applet1 exte nds Appletpublic void pain graphics g)int k;k=(int)(Math.random( )

3、*1000);g.drawStri ng(""+k+"的平方根約等于 "+(in t)(Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);3. 取一個(gè)50200之間的正隨機(jī)整數(shù),如果該數(shù)為奇數(shù)則求它的平方根并轉(zhuǎn)換成float型數(shù)后再輸出;如果該數(shù)為偶數(shù)則求它的平方并輸出。public class Appletl exte nds Appletpublic void pain graphics g)int k;k=50+(int)(Math.random( )*150);if(k%2!=0)g.drawStri ng(

4、""+k+"的平方根約等于"+(float)Math.sqrt(k),20,20);elseg.drawString(""+k+"的平方等于"+k*k,20,20);4. 取一個(gè)小于800的正隨機(jī)整數(shù),將其以如下形式輸出:所取隨機(jī)數(shù)為:*它的百位數(shù)字為:*它的十位數(shù)字為:*它的個(gè)位數(shù)字為:*public class Class1public static void main (String args) int x=(int)(Math.random( )*800);System.out.pri ntln(”Syst

5、em.out.pri ntln(”System.out.pri ntl n("System.out.pri ntl n("所取隨機(jī)數(shù)為:"+x);它的百位數(shù)字為:"+x/100);它的十位數(shù)字為:"+x%100/10);它的個(gè)位數(shù)字為:"+x%10);try System.i n.read( ); catch(IOException e) 練習(xí)2 (5)掌握:(1) 數(shù)組的定義、創(chuàng)建和初始化。(2) 方法的定義和調(diào)用。(3) 方法的參數(shù)是數(shù)組、方法的返回值是數(shù)組的編程。(4) 方法的遞歸調(diào)用。(5) 在應(yīng)用程序中,接受并處理命令行參數(shù)

6、。1. 請(qǐng)編寫一個(gè) Applet,其中定義了兩個(gè) double類型數(shù)組a和b,還定義了一個(gè)方法square()。數(shù)組a各元素的初值依次為1.2、2.3、3.4、4.5、5.6,數(shù)組b各元素的初值依次為 9.8、8.7、7.6、6.5、5.4、4.3 ;方法square()的參數(shù)為double類型的數(shù)組,返回值為float類型的數(shù)組,功能是將參數(shù)各元素的平方做為返回?cái)?shù)組的元素的值。請(qǐng)?jiān)诜椒╬aint ()中分別以a和b為實(shí)在參數(shù)調(diào)用方法square(),并將返回值輸出在屏幕上。要求調(diào)用square( a )的返回?cái)?shù)組輸出在Applet的一行上,數(shù)組的第一個(gè)元素的輸出坐標(biāo)為(20,20),其后的每

7、個(gè)元素間隔40個(gè)像素。調(diào)用square( b )的返回?cái)?shù)組輸出在 Applet的一列上,即下標(biāo)為i+1(i=0,1,2,3,.)的元素的值,在下標(biāo)為i的元素的值的正下方,其返回?cái)?shù)組的第一個(gè)元素的輸出坐標(biāo)為(20, 40),行隔為20像素。麒序public class Applet1 exte nds Appletdouble a =1.2,2.3,3.4,4.5,5.6; double b=9.8,8.7,7.6,6.5,5.4,4.3;public void pain graphics g)float x=new floata .len gth;float y=new floatb.leng

8、th; x=square(a);y=square(b);for(i nt i=0; i<x .len gth;i+)g.drawStri ng(""+xi,20+i*40,20);for(i nt i=0; ivy.len gth;i+)g.drawStri ng(""+yi,20,40+i*20); float square(double x)float y=new floatx.length;for(i nt i=0; i< x.len gth; i+) yi=(float)(xi*xi);return y;2. 請(qǐng)編寫一個(gè) Applic

9、ation實(shí)現(xiàn)如下功能:在主類中定義兩個(gè)double類型數(shù)組a和b,再定義一個(gè)方法sqrt_sum()。數(shù)組a各元素的初值依次為 1.2、2.3、3.4、4.5、5.6,數(shù)組b各元素的初 值依次為9.8、8.7、7.6、6.5、5.4、4.3 ;方法sqrt_sum ()的參數(shù)為double類型的數(shù)組,返回值類型為float型,功能是求參數(shù)各元素的平方根之和。請(qǐng)?jiān)谥鞣椒╩ain ()中分別以a和b為實(shí)在參數(shù)調(diào)用方法sqrt_sum (),并將返回值輸出在屏幕上。麒序public class Class1static double a =1.2,2.3,3.4,4.5,5.6;static do

10、uble b =9.8,8.7,7.6,6.5,5.4,4.3;public static void main (String args)(” 數(shù)組 a 各元素的平方根之和為:"+sqrt_sum(a);(” 數(shù)組 b 各元素的平方根之和為:"+sqrt_sum(b);/try char c=(char)System.i n. read( );catch(IOExceptio n e) static float sqrt_sum(double x)double y=0.0;for(i nt i=0; i<x .len gth; i+)y+=Math.sqrt(xi);

11、return (float)y;3. 請(qǐng)編寫一個(gè) Application 實(shí)現(xiàn)如下功能:在主類中定義方法f1(int n) 和方法f2(int n) ,它們的功能均為求n!,方法f1() 用循環(huán)實(shí)現(xiàn),方法f2()用遞歸實(shí)現(xiàn)。在主方法main()中,以4為實(shí)在參數(shù)分別調(diào)用方法f1() 和方法f2(),并輸出調(diào)用結(jié)果。麒序public class Class1public static void main (String args)(”用循環(huán)實(shí)現(xiàn)求 n!的結(jié)果(n=4):"+f1(4);(” 用遞歸實(shí)現(xiàn)求 n!的結(jié)果(n=4):"+f2(4);/try char c=(char

12、)System.i n. read( );catch(IOExceptio n e) static long f1(i nt n)long k=1;for(i nt i=1;i<=n ;i+)k*=i;return k;static long f2(i nt n)if(n=1) return 1;else return n *f2( n-1);4. 請(qǐng)編寫一個(gè) Application 實(shí)現(xiàn)如下功能:接受命令行中給出的三個(gè)參數(shù)x1、x2和op,其中x1和x2為float型數(shù),op是某個(gè)算數(shù)運(yùn)算符(+、 一、*、/之一),請(qǐng)以如下形式輸出 x1和x2執(zhí) 行op運(yùn)算后的結(jié)果(假設(shè) x1的值為2

13、69,x2的值為18,op為運(yùn)算符一):269- 18=251麒序public class Class1public static void main (String args)float x,y;char op;if(args .len gth >= 3)x=Float.valueOf(args0).floatValue();y=Float.valueOf(args1).floatValue();op=args2.charAt(0);switch(op)default : (”非法運(yùn)算符!");(”命令行參數(shù)錯(cuò)!"); System.exit(-1); void p

14、rintA( int array)禾口 int5. 編寫Application,主類中包含以下兩個(gè)自定義方法:myArray(int n)。方法printA(int array)的功能是把參數(shù)數(shù)組各元素在屏幕的一行中輸出。方法myArray(int n)的功能是生成元素值是50100之間的隨機(jī)值的int型數(shù)組,數(shù)組元素的個(gè)數(shù)由參數(shù)n指定。在應(yīng)用程序的main ()方法中,用命令行傳入的整數(shù)作為myArray(int n) 方法調(diào)用時(shí)的實(shí)際參數(shù),生成一個(gè)整型數(shù)組,并調(diào)用方法printA ()輸出該數(shù)組的所有元素。麒序public class Classistatic int n;public s

15、tatic void main (String args)if(argsen gth > 0)n=ln teger.parse In t(argsO);in t a=new intn;a=myArray (n);prin tA(a);(”缺命令行參數(shù)!"); System.exit(-I); static void printA(int x)for(i nt i=0; i< x.len gth; i+)return;static int myArray(int k)int x =new in tk;for(i nt i=0; i< k; i+)xi=50+( in

16、t)(Math.ra ndom( )*50);return x;練習(xí)3 (3)掌握:方法的重載。1. 請(qǐng)編寫一個(gè) Applet,其主類名為 Appletl ,其中包含兩個(gè)同名方法arrayMin(),它們都只有一個(gè)參數(shù),其中一個(gè)arrayMin()方法的參數(shù)為int型數(shù)組,返回值類型為int型數(shù);另一個(gè)arrayMin() 方法的參數(shù)為double型數(shù)組,返回值類型為double型數(shù);這兩個(gè)方法的功能均為返回參數(shù)數(shù)組元素的最小值。通過paint()方法調(diào)用上述兩個(gè)同名方法arrayMin(),求數(shù)組a (其元素的值依次為26, 82, -3,65, 18,9)和數(shù)組b (其元素的值依次為 3.

17、6,57.2,8.5,78.8)的最小元素的值 并輸出。麒序public class Applet1 exte nds Applet int a =26,82,-3,65,18,9;double b =3.6,57.2,8.5,78.8;public void pain graphics g)g.drawString(" 數(shù)組 a 的最小元素的值為:"+ arrayMin(a),20,20);g.drawString(" 數(shù)組 b 的最小元素的值為:"+ arrayMin(b),20,40);int array Min (i nt x) int y=x0

18、;for(i nt i=1; i< x.len gth; i+) return y;double array Min( double x)double y=x0;for(i nt i=1; i< x.len gth; i+) return y;Class1,其中包含三個(gè)同名方法mySqrt(),它們都只有2. 請(qǐng)編寫一個(gè)Application,其主類名為一個(gè)參數(shù),參數(shù)的類型分別為int型、float型和double型,它們的功能均為返回參數(shù)的平方根,返回值的類型與參數(shù)的類型相同。在主方法main()中調(diào)用上面的三個(gè)方法,這三個(gè)方法的參數(shù)均來自命令行參數(shù),最后將計(jì)算結(jié)果輸出在屏幕上。

19、 麒序public class Class1 static int n;public static void main (String args) if(args .len gth >= 3)int n;float f;double d;n=ln teger.parse In t(args0);f=Float.valueOf(args1).floatValue();d=Double.valueOf(args2).doubleValue();System.out.pri ntln(n+"System.out.pri ntl n(f+"System.out.pri ntl

20、n( d+"的平方根為:"+mySqrt(n); 的平方根為:"+mySqrt(f); 的平方根為:"+mySqrt(d);缺命令行參數(shù)'); System.exit(-1); (”static int mySqrt(i nt x)return (i nt)Math.sqrt(x);static float mySqrt(float x) return (float)Math.sqrt(x);static double mySqrt(double x) return Math.sqrt(x);3. 請(qǐng)編寫一個(gè) Applet,其主類名為Applet

21、1,其中包含三個(gè)同名方法addM(int x, byte y) 、addM(float x,double y) 、addM(double x,double y),它們的功能均為求兩個(gè)參數(shù)之和,返回值類型與第一個(gè)參數(shù)的類型相同。在主類 Applet1中,通過paint()方法調(diào)用上面的三個(gè)方法,實(shí) 現(xiàn)12345+67、89.6f+6.9e-8 、0.987654321+32.1,然后將計(jì)算結(jié)果輸出,輸出位置分別為坐標(biāo) (20,40)、(20,60)、(20,80)。麒序public class Applet1 exte nds Appletpublic void pain t(Graphics

22、g)g.drawStri ng("12345+67 = "+ addM(12345,67),20,40);g.drawStri ng("89.6+6.9e-8 = "+ addM(89.6f,6.9e-8),20,60);g.drawStri ng("0.987654321+32.1 = "+ addM(0.987654321,32.1),20,80);int addM(i nt x, byte y)return x+y;float addM(float x,double y)return (float)(x+y);double ad

23、dM(double x,double y)return x+y;練習(xí)4 (3)掌握:(1)類的繼承。(2) 在子類中如何操作父類中的私有屬性。(3) 變量的作用域。1. 請(qǐng)編寫Applet,它由三個(gè)類定義組成,類名分別為A B和Appletl :類A中定義了一個(gè)類型為float的屬性f和一個(gè)類型為byte的私有屬性k;類A還定義了一個(gè)帶有一個(gè)參數(shù)的構(gòu)造函數(shù)(用于初始化f),和兩個(gè)公共方法setk()和getk(),其中setk()的功能為給私有屬性 k賦值,getk() 的功能為返回私有屬性 k的值。類B是類A的子類,其中僅定義了一個(gè)類型為boolean的屬性b和一個(gè)帶兩個(gè)參數(shù)的構(gòu)造函數(shù)(用來

24、為父類中的變量 f和本類的變量b做初始化)。主類Appletl中定義了一個(gè)初值為123的int型變量n和一個(gè)B類的對(duì)象x,請(qǐng)通過創(chuàng)建x為上述f和b賦值(f的值 為68.963,b的值為true); 在paint()方法中,給A類的私有屬性k賦值66,然后顯示f, k,b,n 的值。麒序public class Applet1 exte nds Appletint n=123;B x=new B(68.963f,true);public void pain graphics g)x.setk(byte)66);g.drawStri ng("f="+x.f+" k=&

25、quot;+x.getk( )+" b="+x.b+" n="+n,10,20);class Afloat f;private byte k;A(float f1) f=f1; public byte getk( ) return k; public void setk(byte m) k=m; class B exte nds Aboolea n b;B(float ff,boolean bb) super(ff); b=bb; 2. 請(qǐng)按如下要求定義兩個(gè)類A和B,類A中定義一個(gè)double類型變量d (將其賦值為8.8 )和一個(gè)方法int_d(dou

26、ble dd ),該方法的功能是返回參數(shù)dd的整數(shù)部分。類 B是類A的子類,其中定義一個(gè)float類型變量f (將其賦值為18.3 )和一個(gè)方法int_f(float ff ),該方法的功能是返回參數(shù)ff的整數(shù)部分。編寫一個(gè)Application,創(chuàng)建類B的對(duì)象b,在主方法 main()中先顯示d和f的值,然后分別以d和f為實(shí)在參數(shù)調(diào)用int_d()方法和int_f()方法,并將它們的返回值顯示在屏幕上。麒序public class Classipublic static void main (String args)B b=new B();的整數(shù)部分="+_d(b.d)+

27、"f 的整數(shù)部分="+b.i nt_f(b.f);class Adouble d=8.8;int in t_d(double dd) return (in t)dd; class B exte nds Afloat f=18.3f;int in t_f(float ff) return (in t)ff; 3. 請(qǐng)編寫一個(gè)Application,在其主類中定義一個(gè)int類型變量i ,并令其初值為123 ;主類中還定義了 m1()和m2()等兩個(gè)方法。在主方法 main() 和方法m1()中也各定義一個(gè)int類型變 量i ,它們的初值分別為 456和789 ;方法m1()的功

28、能是輸出它的局部變量 i的值;方法m2() 的功能是先輸出類變量i的值,然后使類變量i增加值6后再次輸出其值;主方法main()的 功能是先輸出它的局部變量 i的值,然后先后調(diào)用 m1()和m2()實(shí)現(xiàn)它們的功能。麒序public class Class1static int i=123;public static void main (String args)int i=456;中的 i="+i);m1();m2();static void m1()int i=789;中的 i="+i);static void m2()(”類變量 i="+i);i+=6;(”力

29、口 6 后的類變量 i="+i);練習(xí)5 (5)掌握:(1)方法的參數(shù)為類對(duì)象、方法的返回值為類對(duì)象。(2) 方法覆蓋:在子類中調(diào)用被子類覆蓋了的父類的同名方法。(3) 屬性隱藏:在子類中訪問被子類隱藏了的父類的同名屬性。(4) 構(gòu)造函數(shù)的重載。1. 請(qǐng)編寫一個(gè)Applet,它由兩個(gè)類定義組成:類 A中定義了 short型變量i和char型變量ch,及 一個(gè)帶兩個(gè)參數(shù)的構(gòu)造函數(shù)(為變量 i和ch做初始化)。主類Applet1中創(chuàng)建了兩個(gè) A類的對(duì)象x1(i的初始值為12,ch的初始值為6')和x2(i的初始值為62, ch的初始值為65),還定義了一個(gè)方法b,b的參數(shù)和返回值

30、均為A類的對(duì)象,功能為將參數(shù)對(duì)象的屬性i加3,屬性ch也加3,使返回結(jié)果為另一個(gè) A類的對(duì)象(即不破壞實(shí)在參數(shù)的值)。請(qǐng)?jiān)趐aint()方法中先輸出x1、x2的屬性值,然后再分別以 x1、x2為實(shí)在參數(shù)調(diào)用方法b(),并輸出調(diào)用結(jié)果,最后再次輸出x1、x2的屬性值。麒序public class Applet1 exte nds AppletA x1,x2;public void init()x仁new A(short)12,'6');x2=new A(short)62,(char)65);public void pain t(Graphics g)A a仁n ew A(shor

31、t)0,'');A a2=new A(short)0,'');g.drawString("對(duì)象 x1 的屬性值:i=" + x 1.i+" ch="+ x 1.ch,20,20);g.drawString("對(duì)象 x1 的屬性值:i=" + x 2.i+" ch="+ x 2.ch,20,40);a1=b(x1);a2=b(x2);g.drawString("以x1為實(shí)參調(diào)用方法b()生成的新的A類對(duì)象的屬性值:i="+a1.i+" ch="+

32、a1.ch,20,60);g.drawString("以x2為實(shí)參調(diào)用方法b()生成的新的A類對(duì)象的屬性值:i="+a2.i+" ch="+a2.ch,20,80);g.drawString("調(diào)用后,對(duì)象 x1 的屬性值:i=" + x 1.i+" ch="+ x 1.ch,20,100);g.drawString("調(diào)用后,對(duì)象 x1 的屬性值:i=" + x 2.i+" ch="+ x 2.ch,20,120);A b(A y)A a=new A(short)0,

33、9;');a.i=(short)(y.i+3);a.ch=(char)(y.ch+3);return a;class Ashort i;char ch;A(short i1,char c1) i=i1; ch=c1; 2. 請(qǐng)按如下要求定義兩個(gè)類A和B,類A中定義一個(gè)char類型屬性x (將其賦值為65)和一個(gè)在小程序窗口中輸出x值的方法myPrint()。類B是類A的子類,其中定義一個(gè)int類型屬性y (將其賦值為16)和String類型的屬性s (將其賦值為"java program! ”);類B中 也定義了一個(gè)名 為myPrint的方法,其功能為在小程序窗口中輸出y和s

34、值;類B中還有一個(gè)方法printAII(),該方法中分別調(diào)用父類和子類的myPrint()方法做輸出。編寫一個(gè)Applet,在主類Applet1中創(chuàng)建類B的對(duì)象b,調(diào)用printAll()方法輸出對(duì)象b的屬性值。麒序public class Applet1 exte nds AppletB b=new B();public void pain t(Graphics g)b.pri ntAll( g);class Achar x=65;void myPri nt(Graphics g)g.drawStri ng("x="+x,20,20); class B exte nds

35、Aint y=16;String s="java progra m!"void myPri nt(Graphics g)g.drawStri ng("y="+y+" s="+s,20,40); void prin tAll( Graphics g)super.myPri nt(g);myPri nt(g);3. 請(qǐng)按如下要求定義兩個(gè)類A和B,類A中定義一個(gè)方法area(float r),其返回值類型為float型,該方法的功能是返回半徑為 r的圓的面積(圓的面積公式為:二r2,其中r是圓的半徑)。類B是類A的子類,其中也定義了一個(gè)名為

36、area的方法area(float r),該方法的功能是返回半徑為r的球的表面積(球的表面積的計(jì)算公式為:4 n r2,其中r為球的半徑),返回值類型也為float型;在類B中還定義了另一個(gè)方法 myPrint(float r),功能是分別調(diào)用父類和子類的方法area()計(jì)算半徑相同的圓的面積和球的表面積并輸出調(diào)用結(jié)果。編寫一個(gè)Application ,創(chuàng)建類B的對(duì)象b,在主方法main()中調(diào)用myPrint(float r),輸出半徑為1.2的圓的面積和半徑為1.2的球的表面積。麒序public class Classipublic static void main (String arg

37、s) B b=new B( );b.myPri nt(1.2f );class Afloat rear(float r)return (float)Math.PI*r*r;class B exte nds Afloat rear(float r)return 4*(float)Math.PI*r*r;void myPrint(float r)(” 半徑為"+r+"的圓的面積="+super.rear(r)+"同半徑的球的表面積="+rear(r);4. 請(qǐng)編寫Applet,它由三個(gè)類定義組成:類A中只定義了一個(gè)類型為String的對(duì)象x和帶有一

38、個(gè)參數(shù)的構(gòu)造函數(shù)(用來初始化x);類B是類A的子類,其中定義了一個(gè)int類型的變量x和一個(gè)帶兩個(gè)參數(shù)的構(gòu)造函數(shù)(用來為父類中的對(duì)象x和類B中的變量x做初始化),還定義了一個(gè)方法myPrint(),功能為輸出父類 A中的x和其子類B中的x的值;主類Applet1中定義了 B類的對(duì)象 b,請(qǐng)通過創(chuàng)建b為上述兩個(gè)x賦值(類A中的x的值為“這是父類的x. ”,類B中的x的值為68),通過paint()方法在坐標(biāo)(20,30)處顯示兩個(gè)x的值。麒序public class Applet1 exte nds AppletB b=new B("這是父類的 x.",68 );public

39、void pain t(Graphics g) b.myPri nt(g); class AStri ng x;A(String x1)x=x1; class B exte nds Aint x;B(Stri ng x1,i nt x2)super(xl); x=x2;void myPri nt(Graphics g)g.drawString("父類 A 中 x 的值="+super.x+" 子類 B 中 x 的值="+x,20,30);5. 請(qǐng)編寫Applet,它由三個(gè)類定義組成,類名分別為 A B和Applet1 :類A中定義了類型為int 的變量i

40、、類型為float的變量f和類型為char的變量ch ;類A還定義了三個(gè)構(gòu)造函數(shù),其中,第一個(gè)構(gòu)造函數(shù)帶有一個(gè)int類型的參數(shù)(用于初始化 i ),第二個(gè)構(gòu)造函數(shù)帶有兩個(gè)參數(shù)(參數(shù)類型分別為int和float,用于初始化i和f),第三個(gè)構(gòu)造函數(shù)帶有三個(gè)參數(shù)(參數(shù)類型分別為int、float和char,用于初始化i、f和ch)。類B是類A的子類,其中僅定義了一個(gè)類型為boolean的變量b和一個(gè)帶四個(gè)參數(shù)的構(gòu)造函數(shù)(用來為父類中的變量i、f、ch和本類的變量b做初始化)。主類Applet1中定義了一個(gè)初值為 32.6的double型變量d和一個(gè)B類的對(duì)象b,請(qǐng)通過創(chuàng)建 b為 上述i、f、ch和b

41、賦值(i的值為50,f的值為7.2,ch的值為h' ,b的值為true),用paint()方 法在(10, 30)位置處顯示i,f,ch,b,d 的值。麒序public class Applet1 exte nds Applet double d=32.6;B b=new B(50,7.2f,'h',true );public void pain t(Graphics g)g.drawStri ng("i="+b.i+" f="+b.f+" ch="+b.ch+" b="+b.b+"

42、; d="+d,10,30);class A int i;float f;char ch;this(x); f=y;this(x,y); ch=z;A(int x)i=x;A(int x,float y)A(i nt x,float y,char z)class B exte nds Aboolea n b;B(i nt x,float y,char z,boolea n w) super(x,y,z); b=w; 練習(xí)6 (5)掌握:接口、抽象類、最終類的編程;字符串的使用。1. 定義接口 A,接口內(nèi)有兩個(gè)方法:method1(int x) 和method2(int x,int y

43、),它們的返回值類型均為int。請(qǐng)編寫一個(gè) Applet,并使其實(shí)現(xiàn)接口A令方法 method1(int x)的功能是求5的x次方、方法method2(int x,int y)的功能是求兩參數(shù)的最大值。在paint ()方法中調(diào)用這兩個(gè)方法,顯示 method1(2)和 method2(2,8) 的結(jié)果。麒序public class Applet1 exte nds Applet impleme nts Apublic void pain t(Graphics g)g.drawString("調(diào)用 method1(2)的結(jié)果:"+method1(2),20,20);g.dr

44、awString("調(diào)用 method2(2,8)的結(jié)果:"+method2(2,8),20,40);public int method1(i nt x)int result=1;for(i nt i=1;i<=x;i+)result*=5;return result;public int method2(i nt x,i nt y)retur n x>y?x:y;in terface Apublic abstract int method1(i nt x);public abstract int method2(i nt x,i nt y);2. 定義名為 V

45、olumeArea的抽象類,在其中定義圓周率 二的值為3.14159,并定義兩個(gè)抽象方法volume(double r) 和area(double r) ,它們的返回值類型均為float 。再定義以類 VolumeArea為父類的子類 VolumeAndArea,在該子類中實(shí)現(xiàn)父類中的抽象方法:方法volume(double r) 的功能是求半徑為r的球的體積(公式為:4町3子3);方法area(double r)的功能是求半徑為r的圓的面積(公式為:nr )。請(qǐng)編寫一個(gè) Application,在其主類中定義一個(gè)VolumeAndArea類的對(duì)象 x,通過對(duì)象x求半徑為r(r的值由命令行給定

46、)的球的體積及該球最大切面的圓的面積,并輸出計(jì)算結(jié)果。麒序public class Classistatic VolumeA ndArea x=new VolumeA ndArea();public static void main(String args)float r=Float.valueOf(args0).floatValue();(”半徑為"+r+"的球的體積="+x.volume(r);(”半徑為"+r+"的圓的面積="+ x.area(r);abstract class VolumeAreastatic final fl

47、oat myPI=3.14159f;public abstract float volume(double r);public abstract float area(double r);class VolumeA ndArea exte nds VolumeAreapublic float volume(double r)return (float)(4*myPI*r*r*r/3);public float area(double r)return (float)(myPI*r*r);3. 定義類A,在其中定義一個(gè)final變量myPI,其類型為float,值為3.1416 ;類A中還定義一

48、個(gè) final方法m1(float r),該方法返回值類型為float ,功能是求半徑為r的圓的周長(公式為:2 r)。再定義類A的子類B, B為final類,其中定義一個(gè)返回值類型為 void的方法m2(float r) 功能是先調(diào)用父類的方法 m1()求半徑為r的圓的周長并輸出計(jì)算結(jié)果,然后輸出同一個(gè)圓的面積(公式為:二r2)。請(qǐng)編寫一個(gè) Application,利用類B計(jì)算并輸出半徑為 5的圓的周長和面積。麒序public class Class1static B x=new B();public static void main(String args)x.m2(5);class Af

49、inal float myPI=3.1416f;public final float m1(float r) return 2*myPI*r; final class B exte nds Apublic void m2(float r)(”半徑為"+r+"的圓的周長="+m1(r);(”半徑為"+r+"的圓的面積="+myPI*r*r);4編寫應(yīng)用程序,功能為:從命令行傳入一個(gè)包含十個(gè)字符的字符串,把該字符串與程序中給定的字符串"bacdbcabca"依次比較,統(tǒng)計(jì)兩個(gè)串中對(duì)應(yīng)字符相等的數(shù)目。然后輸出命令行輸入的

50、字符串,并把兩個(gè)串中對(duì)應(yīng)字符不相等的字符替換為'后生成的新串輸出,最后輸出兩個(gè)串中相等字符的數(shù)目。麒序public class Class1public static void main(String args) throws IOExceptionelse String str=new Strin g("bacdbcabca");int n=0;for (int x=0;x<str.le ngth();x+)for (int x=0;x<str.le ngth();x+)if (argsO.charAt(x)=str.charAt(x)+n);5.請(qǐng)編

51、寫一個(gè)Application實(shí)現(xiàn)如下功能:接受命令行中給出的一個(gè)字母串,先將該串原樣輸出,然后判斷該串的第一個(gè)字母是否為大寫,若是大寫則統(tǒng)計(jì)該串中大寫字母的個(gè)數(shù),并將所有大寫字 母輸出;否則輸出信息串”第一個(gè)字母不是大寫字母!”。麒序public class Classipublic static void main(String args)int coun t=0;if(args.le ngth!=O)if(i nt)args0.charAt(0)>=65 && (in t)args0.charAt(0)<=90)for(i nt i=0;i<args0.l

52、e ngth( );i+)if(int)args0.charAt(i)>=65 && (int)args0.charAt(i)<=90)"共有 ” +count+ ” 個(gè)大寫字母?!?; else(”第一個(gè)字母不是大寫字母!");(”請(qǐng)給出命令行參數(shù) !");練習(xí)7 (5)掌握:命令行傳參數(shù)。1 請(qǐng)編寫一個(gè)實(shí)現(xiàn)如下功能的Applicatio n:比較命令行中給出的兩個(gè)整數(shù)是否相等,并根據(jù)比較結(jié)果顯示”相等"或"不相等”。public class Classipublic static void main (Strin

53、g args)int x,y;Stri ng str=""if(argsen gth < 2)(”請(qǐng)?jiān)诿钚休斎雰蓚€(gè)參數(shù)");System.exit(-I);x=ln teger.parse In t(args0);y=ln teger.parse In t(args1);if (x=y) str="命令行輸入的兩個(gè)參數(shù)相等"else str="命令行輸入的兩個(gè)參數(shù)不相等");2.編寫一個(gè)Application程序,比較命令行中給出的兩個(gè)字符串是否相等,并輸出比較的結(jié)果。public class Classipubli

54、c static void main (String args)if( args .len gth < 2 )(” Usage: stri ng1 stri ng2");System.exit(-I);if(args0.equals(args1)和"+args1+" 相等");else和"+args1+" 不等");3 從命令行傳入3個(gè)整數(shù),求3個(gè)整數(shù)的和、積、最大值、最小值。public class Class1public static void main (String args) int n=args .len

55、 gth;if(n <3)(”請(qǐng)輸入三個(gè)整數(shù)!");elseint a,b,c;和:"+(a+b+c);積:"+(a*b*c);最大值:"+Math.max(c,Math.max(a,b);最小值:"+Math.mi n(c,Math.mi n(a,b);4.請(qǐng)編寫一個(gè) Application實(shí)現(xiàn)如下功能:通過命令行中給出的float型參數(shù)x,和int(如果參數(shù)少于兩個(gè),給出提示后退出系統(tǒng)),調(diào)用Math類中的方法求x的y次方并輸出。public class Class1型參數(shù)ypublic static void main (String args) int x,y;Stri ng str=""if(argsen gth < 2) :numberl number2");System.exit(-I);x=Float.valueOf(args0).floatValue();y=ln teger.parse In t(args1);str=str+x+" 的"+y+"次方="+(Math.pow(

溫馨提示

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