2004~2005《Java程序設(shè)計》上機練習題new
《2004~2005《Java程序設(shè)計》上機練習題new》由會員分享,可在線閱讀,更多相關(guān)《2004~2005《Java程序設(shè)計》上機練習題new(4頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、2004Java程序設(shè)計上機練習題(共包括四部分、16個練習、共96個練習題,請使用“視圖”中的“文檔結(jié)構(gòu)圖”查看)一、java語言基礎(chǔ)和面向?qū)ο螅ń滩膬?nèi)容的第1、2、3章)練習1(4)掌握:各種數(shù)據(jù)類型變量的定義和訪問,各種數(shù)據(jù)類型常量的使用,數(shù)據(jù)類型轉(zhuǎn)換。1. 編寫Applet,其功能為:取兩個小于1000的正隨機數(shù),若兩個數(shù)均小于10,先將它們都放大50倍,否則不改變這兩個數(shù)。最后,求這兩個數(shù)的和并將結(jié)果輸出。要求這些功能在主類的方法init( ) 中實現(xiàn),并使輸出結(jié)果僅保留小數(shù)點后4位(不需四捨五入)。程序import java.awt.*;import java.applet.*;p
2、ublic class Applet1 extends Appletpublic void init( ) Label out1=new Label( );Label out2=new Label( );double x,y;add(out1); add(out2);x=Math.random( )*1000;y=Math.random( )*1000; if(x10&y10) x*=50; y*=50; out1.setText(+x+y+ 約等于 ); out2.setText(+(int)(x+y)*10000)/10000.0);2. 請編寫一個Applet,其功能為:取一個小于100
3、00的正隨機整數(shù),并輸出該數(shù)的平方根。要求這些功能在主類的方法paint( ) 中實現(xiàn),并使輸出結(jié)果在四捨五入后保留小數(shù)點后4位。程序import java.awt.*;import java.applet.*;public class Applet1 extends Appletpublic void paint(Graphics g)int k;k=(int)(Math.random( )*1000);g.drawString(+k+ 的平方根約等于 + (int)(Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);3. 編寫一個Applet,其功能為
4、:取一個50200之間的正隨機整數(shù),如果該數(shù)為奇數(shù)則求它的平方根并轉(zhuǎn)換成float型數(shù)后再輸出;如果該數(shù)為偶數(shù)則求它的平方并輸出。程序import java.awt.*;import java.applet.*;public class Applet1 extends Appletpublic void paint(Graphics g)int k;k=50+(int)(Math.random( )*150);if(k%2!=0) g.drawString(+k+ 的平方根約等于 +(float)Math.sqrt(k),20,20);else g.drawString(+k+ 的平方等于 +
5、k*k,20,20);4. 請編寫一個Application,其功能為:取一個小于800的正隨機整數(shù),將其以如下形式輸出: 所取隨機數(shù)為:* 它的百位數(shù)字為:* 它的十位數(shù)字為:* 它的個位數(shù)字為:*程序/import java.io.*;public class Class1public static void main (String args)int x=(int)(Math.random( )*800);System.out.println(所取隨機數(shù)為:+x);System.out.println(它的百位數(shù)字為:+x/100); System.out.println(它的十位數(shù)字為
6、:+x%100/10); System.out.println(它的個位數(shù)字為:+x%10);/try System.in.read( ); catch(IOException e) 練習2(5)掌握:(1)數(shù)組的定義、創(chuàng)建和初始化。 (2)方法的定義和調(diào)用。 (3)方法的參數(shù)是數(shù)組、方法的返回值是數(shù)組的編程。 (4)方法的遞歸調(diào)用。 (5)在應(yīng)用程序中,接受并處理命令行參數(shù)。1.請編寫一個Applet,其中定義了兩個double類型數(shù)組a和b,還定義了一個方法square( )。數(shù)組a各元素的初值依次為1.2、2.3、3.4、4.5、5.6, 數(shù)組b各元素的初值依次為9.8、8.7、7.6、
7、6.5、5.4、4.3;方法square( )的參數(shù)為double類型的數(shù)組,返回值為float類型的數(shù)組,功能是將參數(shù)各元素的平方做為返回數(shù)組的元素的值。請在方法paint()中分別以a和b為實在參數(shù)調(diào)用方法square( ),并將返回值輸出在屏幕上。要求調(diào)用square( a )的返回數(shù)組輸出在Applet的一行上,數(shù)組的第一個元素的輸出坐標為(20,20),其后的每個元素間隔40個像素。調(diào)用square( b )的返回數(shù)組輸出在Applet的一列上,即下標為i+1(i=0,1,2,3,.)的元素的值,在下標為i的元素的值的正下方,其返回數(shù)組的第一個元素的輸出坐標為(20,40),行隔為2
8、0像素。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet double 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 paint(Graphics g)float x=new floata.length;float y=new floatb.length;x=square(a);y=square(b);for(int i=0; ix.length;i+)g.drawString(+xi,20+i*40,
9、20);for(int i=0; iy.length;i+)g.drawString(+yi,20,40+i*20);float square(double x )float y=new floatx.length;for(int i=0; i x.length; i+)yi=(float)(xi*xi);return y;2. 請編寫一個Application實現(xiàn)如下功能:在主類中定義兩個double類型數(shù)組a和b,再定義一個方法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;方
10、法sqrt_sum ( )的參數(shù)為double類型的數(shù)組,返回值類型為float型,功能是求參數(shù)各元素的平方根之和。請在主方法main()中分別以a和b為實在參數(shù)調(diào)用方法sqrt_sum ( ),并將返回值輸出在屏幕上。程序/import java.io.*;public class Class1static double a =1.2,2.3,3.4,4.5,5.6;static double b =9.8,8.7,7.6,6.5,5.4,4.3;public static void main (String args)System.out.println(數(shù)組a各元素的平方根之和為:+sq
11、rt_sum(a);System.out.println(數(shù)組b各元素的平方根之和為:+sqrt_sum(b);/try char c=(char)System.in.read( );catch(IOException e) static float sqrt_sum(double x)double y=0.0;for(int i=0; ix.length; i+) y+=Math.sqrt(xi);return (float)y;3. 請編寫一個Application實現(xiàn)如下功能:在主類中定義方法f1(int n) 和方法f2(int n),它們的功能均為求 n!,方法f1( ) 用循環(huán)實現(xiàn)
12、,方法f2( )用遞歸實現(xiàn) 。在主方法main( ) 中,以4為實在參數(shù)分別調(diào)用方法f1( ) 和方法f2( ),并輸出調(diào)用結(jié)果。程序/import java.io.*;public class Class1public static void main (String args)System.out.println(用循環(huán)實現(xiàn)求 n! 的結(jié)果(n=4):+f1(4);System.out.println(用遞歸實現(xiàn)求 n! 的結(jié)果(n=4):+f2(4);/try char c=(char)System.in.read( );catch(IOException e) static long
13、f1(int n)long k=1;for(int i=1;i= 3)x=Float.valueOf(args0).floatValue( );y=Float.valueOf(args1).floatValue( );op=args2.charAt(0);switch(op) case +: System.out.println(x+y+=+(x+y); break; case -: System.out.println(x+-+y+=+(x-y); break; case *: System.out.println(x+*+y+=+(x*y); break; case /: System.o
14、ut.println(x+/+y+=+(x/y); break; default : System.out.println(非法運算符!);else System.out.println(命令行參數(shù)錯!); System.exit(-1); 5. 編寫Application,主類中包含以下兩個自定義方法: void printA( int array )和int myArray(int n)。方法printA(int array)的功能是把參數(shù)數(shù)組各元素在屏幕的一行中輸出。方法myArray(int n)的功能是生成元素值是50100之間的隨機值的int型數(shù)組,數(shù)組元素的個數(shù)由參數(shù)n指定。在應(yīng)
15、用程序的main( )方法中,用命令行傳入的整數(shù)作為myArray(int n) 方法調(diào)用時的實際參數(shù),生成一個整型數(shù)組,并調(diào)用方法printA( )輸出該數(shù)組的所有元素。程序public class Class1static int n;public static void main (String args)if(args.length 0)n=Integer.parseInt(args0); int a=new intn; a=myArray(n); printA(a);else System.out.println(缺命令行參數(shù)!); System.exit(-1); static v
16、oid printA(int x)for(int i=0; i x.length; i+) System.out.print(xi+ );System.out.println( );return;static int myArray(int k)int x =new intk;for(int i=0; i k; i+) xi=50+(int)(Math.random( )*50);return x;練習3(3)掌握: 方法的重載。1. 請編寫一個Applet,其主類名為Applet1,其中包含兩個同名方法arrayMin( ),它們都只有一個參數(shù),其中一個arrayMin( )方法的參數(shù)為in
17、t型數(shù)組,返回值類型為int型數(shù);另一個arrayMin( )方法的參數(shù)為double型數(shù)組,返回值類型為double型數(shù);這兩個方法的功能均為返回參數(shù)數(shù)組元素的最小值。通過paint( )方法調(diào)用上述兩個同名方法arrayMin( ),求數(shù)組a (其元素的值依次為26,82,-3,65,18,9)和數(shù)組b (其元素的值依次為3.6,57.2,8.5,78.8) 的最小元素的值并輸出。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet int a =26,82,-3,65,18,9;doubl
18、e b =3.6,57.2,8.5,78.8;public void paint(Graphics g)g.drawString(數(shù)組a 的最小元素的值為: + arrayMin(a),20,20); g.drawString(數(shù)組b 的最小元素的值為: + arrayMin(b),20,40); int arrayMin(int x )int y=x0;for(int i=1; ixi) y=xi;return y;double arrayMin(double x )double y=x0;for(int i=1; ixi) y=xi;return y;2. 請編寫一個Application
19、,其主類名為Class1,其中包含三個同名方法mySqrt(),它們都只有一個參數(shù),參數(shù)的類型分別為int型、float型和double型,它們的功能均為返回參數(shù)的平方根,返回值的類型與參數(shù)的類型相同。在主方法main( ) 中調(diào)用上面的三個方法,這三個方法的參數(shù)均來自命令行參數(shù),最后將計算結(jié)果輸出在屏幕上。程序public class Class1static int n;public static void main (String args)if(args.length = 3)int n;float f;double d;n=Integer.parseInt(args0);f=Floa
20、t.valueOf(args1).floatValue( );d=Double.valueOf(args2).doubleValue( );System.out.println(n+的平方根為: +mySqrt(n);System.out.println(f+的平方根為: +mySqrt(f);System.out.println(d+的平方根為: +mySqrt(d); else System.out.println(缺命令行參數(shù)!); System.exit(-1); static int mySqrt(int x)return (int)Math.sqrt(x); static floa
21、t mySqrt(float x) return (float)Math.sqrt(x); static double mySqrt(double x) return Math.sqrt(x); 3. 請編寫一個Applet,其主類名為Applet1,其中包含三個同名方法addM(int x, byte y)、addM(float x,double y)、addM(double x,double y),它們的功能均為求兩個參數(shù)之和,返回值類型與第一個參數(shù)的類型相同。在主類Applet1中,通過paint( )方法調(diào)用上面的三個方法,實現(xiàn)12345+67、89.6f+6.9e-8、0.98765
22、4321+32.1,然后將計算結(jié)果輸出,輸出位置分別為坐標(20,40)、(20,60)、(20,80)。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet public void paint(Graphics g)g.drawString(12345+67 = + addM(12345,67),20,40); g.drawString(89.6+6.9e-8 = + addM(89.6f,6.9e-8),20,60); g.drawString(0.987654321+32.1 = + ad
23、dM(0.987654321,32.1),20,80); int addM(int x, byte y)return x+y; float addM(float x,double y)return (float)(x+y); double addM(double x,double y)return x+y; 練習4(3)掌握: (1) 類的繼承。 (2) 在子類中如何操作父類中的私有屬性。 (3) 變量的作用域。1. 請編寫Applet,它由三個類定義組成,類名分別為A、B和Applet1:類A中定義了一個類型為float的屬性f和一個類型為byte的私有屬性k;類A還定義了一個帶有一個參數(shù)的
24、構(gòu)造函數(shù)(用于初始化f),和兩個公共方法setk( )和getk( ), 其中setk( ) 的功能為給私有屬性k賦值,getk( )的功能為返回私有屬性k的值。類B是類A的子類,其中僅定義了一個類型為boolean的屬性b和一個帶兩個參數(shù)的構(gòu)造函數(shù)(用來為父類中的變量f和本類的變量b做初始化)。主類Applet1中定義了一個初值為123的int型變量n和一個B類的對象x,請通過創(chuàng)建x為上述f和b賦值(f的值為68.963,b的值為true); 在paint()方法中, 給A類的私有屬性k賦值66,然后顯示f,k,b,n的值。程序import java.awt.*;import java.ap
25、plet.*;public class Applet1 extends Applet int n=123;B x=new B(68.963f,true);public void paint(Graphics g)x.setk(byte)66);g.drawString(f=+x.f+ k=+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 extend
26、s Aboolean b;B(float ff,boolean bb) super(ff); b=bb; 2. 請按如下要求定義兩個類A和B, 類A中定義一個double 類型變量d(將其賦值為8.8)和一個方法int_d(double dd ),該方法的功能是返回參數(shù)dd的整數(shù)部分。類B是類A的子類,其中定義一個float 類型變量f(將其賦值為18.3)和一個方法int_f(float ff ),該方法的功能是返回參數(shù)ff的整數(shù)部分。編寫一個Application,創(chuàng)建類B的對象b,在主方法main( ) 中先顯示d和f的值,然后分別以d和f為實在參數(shù)調(diào)用int_d( )方法和int_f(
27、 )方法,并將它們的返回值顯示在屏幕上。程序public class Class1public static void main (String args)B b=new B( );System.out.println(d=+b.d+ f=+b.f);System.out.println(d的整數(shù)部分=+b.int_d(b.d)+ f的整數(shù)部分=+b.int_f(b.f);class Adouble d=8.8;int int_d(double dd) return (int)dd; class B extends Afloat f=18.3f; int int_f(float ff) ret
28、urn (int)ff; 3. 請編寫一個Application ,在其主類中定義一個int 類型變量i ,并令其初值為123 ;主類中還定義了 m1( )和m2( )等兩個方法。在主方法main( ) 和方法m1( )中也各定義一個int 類型變量i ,它們的初值分別為456和789 ;方法m1( )的功能是輸出它的局部變量i的值;方法m2( )的功能是先輸出類變量i 的值 ,然后使類變量i 增加值 6后再次輸出其值 ;主方法main( ) 的功能是先輸出它的局部變量i的值,然后先后調(diào)用m1( )和m2( )實現(xiàn)它們的功能。程序public class Class1static int i=
29、123;public static void main (String args) int i=456; System.out.println(main( ) 中的 i=+i);m1( );m2( );static void m1( )int i=789;System.out.println(m1( ) 中的 i=+i);static void m2( )System.out.println(類變量 i=+i);i+=6;System.out.println(加 6后的類變量 i=+i);練習5(5)掌握:(1)方法的參數(shù)為類對象、方法的返回值為類對象。 (2)方法覆蓋:在子類中調(diào)用被子類覆蓋
30、了的父類的同名方法。 (3)屬性隱藏:在子類中訪問被子類隱藏了的父類的同名屬性。 (4)構(gòu)造函數(shù)的重載。1. 請編寫一個Applet,它由兩個類定義組成:類A中定義了short型變量i和char型變量ch,及一個帶兩個參數(shù)的構(gòu)造函數(shù)(為變量i和ch做初始化)。主類Applet1中創(chuàng)建了兩個A類的對象x1(i的初始值為12,ch的初始值為6)和x2(i的初始值為62,ch的初始值為65),還定義了一個方法b,b的參數(shù)和返回值均為A類的對象,功能為將參數(shù)對象的屬性i加3,屬性ch也加3,使返回結(jié)果為另一個A類的對象(即不破壞實在參數(shù)的值)。請在paint()方法中先輸出x1、x2的屬性值,然后再分
31、別以x1、x2為實在參數(shù)調(diào)用方法b( ),并輸出調(diào)用結(jié)果,最后再次輸出x1、x2的屬性值。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet A x1,x2;public void init( )x1=new A(short)12,6);x2=new A(short)62,(char)65);public void paint(Graphics g)A a1=new A(short)0, );A a2=new A(short)0, );g.drawString(對象x1的屬性值: i= + x
32、 1.i+ ch=+ x 1.ch,20,20); g.drawString(對象x1的屬性值: i= + x 2.i+ ch=+ x 2.ch,20,40); a1=b(x1);a2=b(x2); g.drawString(以x1為實參調(diào)用方法b( ) 生成的新的A類對象的屬性值: i= +a1.i+ ch=+a1.ch,20,60); g.drawString(以x2為實參調(diào)用方法b( ) 生成的新的A類對象的屬性值: i= +a2.i+ ch=+a2.ch,20,80); g.drawString(調(diào)用后,對象x1的屬性值: i= + x 1.i+ ch=+ x 1.ch,20,100)
33、; g.drawString(調(diào)用后,對象x1的屬性值: i= + x 2.i+ ch=+ x 2.ch,20,120); A b(A y)A a=new A(short)0, );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. 請按如下要求定義兩個類A和B, 類A中定義一個char類型屬性x(將其賦值為65)和一個在小程序窗口中輸出x值的方法myPrint()。類B是類A的子類,其中定義一個int 類型屬性y(將其賦值為16)
34、和String類型的屬性s(將其賦值為“java program!”); 類B中 也定義了一個名為myPrint的方法,其功能為在小程序窗口中輸出y和s值;類B中還有一個方法printAll( ),該方法中分別調(diào)用父類和子類的myPrint()方法做輸出。編寫一個Applet,在主類Applet1中創(chuàng)建類B的對象b,調(diào)用printAll( )方法輸出對象b 的屬性值。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet B b=new B( );public void paint(Graphic
35、s g)b.printAll( g);class Achar x=65; void myPrint(Graphics g)g.drawString(x=+x,20,20);class B extends Aint y=16;String s=java program!;void myPrint(Graphics g)g.drawString(y=+y+ s=+s,20,40); void printAll( Graphics g)super.myPrint(g);myPrint(g); 3. 請按如下要求定義兩個類A和B, 類A中定義一個方法area(float r), 其返回值類型為floa
36、t型,該方法的功能是返回半徑為r的圓的面積(圓的面積公式為:pr2,其中 r是圓的半徑)。類B是類A的子類,其中也定義了一個名為area的方法area(float r),該方法的功能是返回半徑為r的球的表面積(球的表面積的計算公式為:4r2,其中r為球的半徑),返回值類型也為float型;在類B中還定義了另一個方法myPrint(float r),功能是分別調(diào)用父類和子類的方法area( )計算半徑相同的圓的面積和球的表面積并輸出調(diào)用結(jié)果。編寫一個Application,創(chuàng)建類B的對象b,在主方法main( )中調(diào)用myPrint(float r), 輸出半徑為1.2的圓的面積和半徑為1.2的
37、球的表面積。程序public class Class1public static void main (String args) B b=new B( );b.myPrint(1.2f ); class A float rear(float r)return (float)Math.PI*r*r; class B extends Afloat rear(float r)return 4*(float)Math.PI*r*r; void myPrint(float r)System.out.println(半徑為 +r+的圓的面積=+super.rear(r) + 同半徑的球的表面積=+rear
38、(r);4. 請編寫Applet,它由三個類定義組成: 類A中只定義了一個類型為String的對象x和帶有一個參數(shù)的構(gòu)造函數(shù)(用來初始化x);類B是類A的子類,其中定義了一個int類型的變量x和一個帶兩個參數(shù)的構(gòu)造函數(shù)(用來為父類中的對象x和類B中的變量x做初始化),還定義了一個方法myPrint( ),功能為輸出父類A中的x和其子類B 中的x的值;主類Applet1中定義了B類的對象b,請通過創(chuàng)建b為上述兩個x賦值(類A中的x的值為“這是父類的x.”, 類B中的x的值為68),通過paint()方法在坐標(20,30)處顯示兩個x的值。程序import java.awt.*;import j
39、ava.applet.*;public class Applet1 extends Applet B b=new B(這是父類的x.,68 );public void paint(Graphics g)b.myPrint(g); class A String x;A(String x1)x=x1;class B extends Aint x;B(String x1,int x2)super(x1); x=x2;void myPrint(Graphics g)g.drawString(父類A中x的值=+super.x+ 子類B中x的值=+x,20,30); 5. 請編寫Applet,它由三個類定
40、義組成, 類名分別為A、B和Applet1:類A中定義了類型為int的變量i、類型為float的變量f和類型為char的變量ch;類A還定義了三個構(gòu)造函數(shù),其中,第一個構(gòu)造函數(shù)帶有一個int類型的參數(shù)(用于初始化i),第二個構(gòu)造函數(shù)帶有兩個參數(shù)(參數(shù)類型分別為int和float,用于初始化i和f), 第三個構(gòu)造函數(shù)帶有三個參數(shù)(參數(shù)類型分別為int、float和char,用于初始化i、f和ch)。類B是類A的子類,其中僅定義了一個類型為boolean的變量b和一個帶四個參數(shù)的構(gòu)造函數(shù)(用來為父類中的變量i、f、ch和本類的變量b做初始化)。主類Applet1中定義了一個初值為32.6的doub
41、le型變量d和一個B類的對象b,請通過創(chuàng)建b為上述i、f、ch和b賦值(i的值為50,f的值為7.2,ch的值為h,b的值為true),用paint()方法在(10,30)位置處顯示i,f,ch,b,d的值。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet double d=32.6;B b=new B(50,7.2f,h,true );public void paint(Graphics g)g.drawString(i=+b.i+ f=+b.f+ ch=+b.ch+ b=+b.b+ d=
42、+d,10,30);class A int i;float f;char ch;A(int x)i=x;A(int x,float y)this(x); f=y; A(int x,float y,char z)this(x,y); ch=z;class B extends Aboolean b;B(int x,float y,char z,boolean w) super(x,y,z); b=w; 練習6(5)掌握:接口、抽象類、最終類的編程;字符串的使用。1. 定義接口A,接口內(nèi)有兩個方法: method1(int x)和method2(int x,int y),它們的返回值類型均為int。
43、請編寫一個Applet,并使其實現(xiàn)接口A:令方法method1(int x)的功能是求5的x次方、方法method2(int x,int y) 的功能是求兩參數(shù)的最大值。在paint()方法中調(diào)用這兩個方法,顯示method1(2)和 method2(2,8)的結(jié)果。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet implements Apublic void paint(Graphics g)g.drawString(調(diào)用method1(2)的結(jié)果: +method1(2),20,20)
44、;g.drawString(調(diào)用method2(2,8)的結(jié)果: +method2(2,8),20,40);public int method1(int x) int result=1;for(int i=1;iy?x:y;interface Apublic abstract int method1(int x); public abstract int method2(int x,int y); 2. 定義名為VolumeArea的抽象類,在其中定義圓周率p的值為3.14159,并定義兩個抽象方法volume(double r)和area(double r),它們的返回值類型均為float。
45、再定義以類VolumeArea為父類的子類VolumeAndArea,在該子類中實現(xiàn)父類中的抽象方法:方法volume(double r) 的功能是求半徑為r的球的體積(公式為:4pr33);方法area(double r)的功能是求半徑為r的圓的面積(公式為:pr2)。請編寫一個Application ,在其主類中定義一個VolumeAndArea類的對象x,通過對象x求半徑為r(r的值由命令行給定)的球的體積及該球最大切面的圓的面積,并輸出計算結(jié)果。程序public class Class1 static VolumeAndArea x=new VolumeAndArea( ); publ
46、ic static void main(String args) float r=Float.valueOf(args0).floatValue( ); System.out.println(半徑為+r+的球的體積=+x.volume(r); System.out.println(半徑為+r+的圓的面積=+ x.area(r); abstract class VolumeArea static final float myPI=3.14159f; public abstract float volume(double r); public abstract float area(double
47、r);class VolumeAndArea extends VolumeArea public float volume(double r) return (float)(4*myPI*r*r*r/3); public float area(double r) return (float)(myPI*r*r); 3. 定義類A,在其中定義一個final變量myPI,其類型為float,值為3.1416;類A中還定義一個final方法 m1(float r),該方法返回值類型為float,功能是求半徑為r的圓的周長(公式為:2pr)。再定義類A的子類B,B為final類,其中定義一個返回值類型
48、為void的方法 m2(float r),功能是先調(diào)用父類的方法m1( )求半徑為r的圓的周長并輸出計算結(jié)果,然后輸出同一個圓的面積(公式為:pr2)。請編寫一個Application ,利用類B計算并輸出半徑為5的圓的周長和面積。程序public class Class1 static B x=new B( ); public static void main(String args) x.m2(5); class A final float myPI=3.1416f; public final float m1(float r) return 2*myPI*r; final class B
49、 extends A public void m2(float r) System.out.println(半徑為+r+的圓的周長=+m1(r); System.out.println(半徑為+r+的圓的面積=+myPI*r*r); 4編寫應(yīng)用程序,功能為:從命令行傳入一個包含十個字符的字符串,把該字符串與程序中給定的字符串bacdbcabca依次比較,統(tǒng)計兩個串中對應(yīng)字符相等的數(shù)目。然后輸出命令行輸入的字符串,并把兩個串中對應(yīng)字符不相等的字符替換為后生成的新串輸出,最后輸出兩個串中相等字符的數(shù)目。程序public class Class1 public static void main(St
50、ring args) throws IOException if(args0.length()10) System.out.print(Enter a string:include 10 chars);elseString str=new String(bacdbcabca);int n=0;System.out.print(The Standard answer:);for (int x=0;xstr.length();x+)System.out.print( +str.charAt(x);System.out.println();System.out.print(The Student a
51、nswer:);for (int x=0;x=65 & (int)args0.charAt(0)=90)for(int i=0;i=65 & (int)args0.charAt(i)=90) System.out.print(args0.charAt(i); Count+; System.out.println( ); System.out.println(“共有 ”+count+” 個大寫字母。”);else System.out.println(第一個字母不是大寫字母!);elseSystem.out.println(請給出命令行參數(shù)!);練習7(5)掌握:命令行傳參數(shù)。1請編寫一個實現(xiàn)如下功能的Application:比較命令行中給出的兩個整
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。