java程序练习100题一、语言基础和面向对象_第1页
java程序练习100题一、语言基础和面向对象_第2页
java程序练习100题一、语言基础和面向对象_第3页
java程序练习100题一、语言基础和面向对象_第4页
java程序练习100题一、语言基础和面向对象_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上机练习题一、java 语言基础和面向对象练(4)掌握:各种数据类型变量的定义和,各种数据类型常量的使用,数据类型转换。1. 编写 Applet,其功能为:取两个小于 1000 的正随机数,若两个数均小于 10,先将它们都放大 50 倍,否则不改变这两个数。最后,求这两个数的和并将结果输出。要求这些功能在主类的方法 init( ) 中实现,并使输出结果仅保留小数点后 4 位(不需四捨五入)。程序import java.awt.*; import java.applet.*;public class Applet1 extends Appletpublic void init( )Label o

2、ut1=new Label(" Label out2=new Label(" double x,y;");");add(out1); add(out2);x=Math.random( )*1000; y=Math.random( )*1000; if(x<10&y<10) x*=50;out1.setText(""+x+"+"+y+"y*=50;约等于 ");out2.setText(""+(int)(x+y)*10000)/10000.0);2.请编写一

3、个 Applet,其功能为:取一个小于 10000 的正随机整数,并输出该数的平方根。要求这些功能在主类的方法 paint( ) 中实现,并使输出结果在四捨五入后保留小数点后 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(

4、k)+0.00005)*10000)/10000.0,20,20);3. 编写一个 Applet,其功能为:取一个 50200 之间的正随机整数,如果该数为奇数则求它的平方根并转换成 float 型数后再输出;如果该数为偶数则求它的平方并输出。程序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(""

5、;+k+" 的平方根约等于 "+(float)Math.sqrt(k),20,20); elseg.drawString(""+k+" 的平方等于 "+k*k,20,20);4. 请编写一个 Application,其功能为:取一个小于 800 的正随机整数,将其以如下形式输出: 所取随机数为:*它的百位数字为:* 它的十位数字为:* 它的个位数字为:*程序/import java.io.*;public class Class1public static void main (String args)int x=(int)(Math

6、.random( )*800); System.out.println("所取随机数为:"+x); System.out.println("它的百位数字为:"+x/100); System.out.println("它的十位数字为:"+x%100/10); System.out.println("它的个位数字为:"+x%10);/trySystem.in.read( );catch(IOException e)练习 2(5)掌握:(1)数组的定义、创建和初始化。(2) 方法的定义和调用。(3) 方法的参数是数组、方

7、法的返回值是数组的编程。(4) 方法的递归调用。(5) 在应用程序中,接受并处理命令行参数。1.请编写一个 Applet,其中定义了两个 double 类型数组 a 和 b,还定义了一个方法 square( )。数组 a 各元素的初值依次为 1.2、2.3、3.4、4.5、5.6, 数组 b 各元素的初值依次为 9.8、8.7、7.6、6.5、5.4、4.3;方法 square( )的参数为 double 类型的数组,返回值为 float 类型的数组,功能是将参数各元素的平方做为返回数组的元素的值。请在方法 paint()中分别以 a 和b 为实在参数调用方法 square( ), 并将返回值

8、输出在屏幕上。要求调用 square( a )的返回数组输出在 Applet 的一行上,数组的第一个元素的输出坐标为(20,20),其后的每个元素间隔 40 个像素。调用 square( b )的返回数组输出在 Applet 的一列上,即下标为 i+1(i=0,1,2,3,.)的元素的值,在下标为 i 的元素的值的正下方,其返回数组的第一个元素的输出坐标为(20,40),行隔为 20 像素。程序import java.awt.*; import java.applet.*;public class Applet1 extends Appletdouble a =1.2,2.3,3.4,4.5,

9、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; i<x.length;i+) g.drawString(""+xi,20+i*40,20);for(int i=0; i<y.length;i+) g.drawString(""+yi,20,40+i*20);float square

10、(double x )float y=new floatx.length; for(int i=0; i< x.length; i+)yi=(float)(xi*xi); returny;2. 请编写一个 Application 实现如下功能:在主类中定义两个 double 类型数组 a 和b,再定义一个方法 sqrt_sum( )。数组 a 各元素的初值依次为 1.2、2.3、3.4、4.5、5.6, 数组 b 各元素的初值依次为9.8、8.7、7.6、6.5、5.4、4.3;方法 sqrt_sum ( )的参数为 double 类型的数组,返回值类型为 float 型, 功能是求参数

11、各元素的平方根之和。请在主方法 main()中分别以 a 和b 为实在参数调用方法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("数组 a 各元素的平方根之和为:"+sqrt_sum(a); System.out.printl

12、n("数组 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; i<x.length; i+) y+=Math.sqrt(xi);return (float)y;3.请编写一个 Application 实现如下功能:在主类中定义方法 f1(intn) 和方法 f2(intn),它们的功能均为求 n!,方法 f1( ) 用循环实现,方法 f2(

13、 )用递归实现 。在主方法 main( ) 中,以 4 为实在参数分别调用方法 f1( ) 和方法 f2( ),并输出调用结果。程序/import java.io.*; public class Class1public static void main (String args)System.out.println("用循环实现求 n! 的结果(n=4):"+f1(4); System.out.println("用递归实现求 n! 的结果(n=4):"+f2(4);/try char c=(char)System.in.read( );catch(IO

14、Exception e) static long f1(int n)long k=1;for(int i=1;i<=n;i+) k*=i;return k;static long f2(int n)if(n=1)return 1;elsereturn n*f2(n-1);4. 请编写一个 Application 实现如下功能:接受命令行中给出的三个参数 x1、x2 和 op,其中 x1 和x2 为 float 型数,op 是某个算数运算符(+、 、*、/ 之一),请以如下形式输出 x1运算后的结果(假设 x1 的值为 269,x2 的值为 18,op 为运算符):269 18=251程序

15、public class Class1public static void main (String args)float x,y; char op;if(args.length >= 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 '-'

16、;: 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;和 x2 执行opdefault : System.out.println("运算符!");elseSystem.out

17、.println("命令行参数错!");System.exit(-1);5.编写 Application,主类中包含以下两个自定义方法: voidprintA( int array ) 和 intmyArray(intn)。方法 printA(int array)的功能是把参数数组各元素在屏幕的一行中输出。方法myArray(intn)的功能是生成元素值是 50100 之间的随机值的 int 型数组,数组元素的个数由参数 n指定。在应用程序的 main( )方法中,用命令行传入的整数作为 myArray(int 际参数,生成一个整型数组,并调用方法 printA( )输出该

18、数组的所有元素。程序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);n)方法调用时的实elseSystem.out.println("缺命令行参数!");System.exit(-1);static void printA(int x)for(int i=0; i< x.length; i+) System

19、.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);returnx;练习 3(3)掌握: 方法的重载。1. 请编写一个 Applet,其主类名为 Applet1,其中包含两个同名方法 arrayMin(),它们都只有一个参数,其中一个 arrayMin( )方法的参数为 int 型数组,返回值类型为 int 型数;另一个 arrayMin

20、( )方法的参数为 double 型数组,返回值类型为 double 型数;这两个方法的功能均为返回参数数组元素的最小值。通过 paint( )方法调用上述两个同名方法 arrayMin( ),求数组 a (其元素的值依次为 26,82,-3, 65,18,9)和数组 b (其元素的值依次为 3.6,57.2,8.5,78.8) 的最小元素的值并输出。程序import java.awt.*;import java.applet.*;public class Applet1 extends Appletint a =26,82,-3,65,18,9;double b =3.6,57.2,8.5,

21、78.8;public void paint(Graphics g)g.drawString("数组 a 的最小元素的值为: "+ arrayMin(a),20,20); g.drawString("数组 b 的最小元素的值为: "+ arrayMin(b),20,40);int arrayMin(int x )int y=x0;for(int i=1; i< x.length; i+)returny;if(y>xi)y=xi;double arrayMin(double x )double y=x0;for(int i=1; i< x

22、.length; i+) returny;if(y>xi)y=xi;2.请编写一个 Application,其主类名为 Class1,其中包含三个同名方法 mySqrt(),它们都只有一个参数,参数的类型分别为 int 型、float 型和 double 型,它们的功能均为返回参数的平方根,返回值的类型与参数的类型相同。在主方法 main( ) 中调用上面的三个方法,这三个方法的参数均来自命令行参数,最后将计算结果输出在屏幕上。程序public class Class1static int n;public static void main (String args)if(args.le

23、ngth >= 3)int n; float f; double d;n=Integer.parseInt(args0); f=Float.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);els

24、eSystem.out.println("缺命令行参数!");System.exit(-1);static int mySqrt(int x)return (int)Math.sqrt(x);static floatmySqrt(float x)return (float)Math.sqrt(x);static doublemySqrt(double x)return Math.sqrt(x);3. 请编写一个Applet,其主类名为 Applet1,其中包含三个同名方法 addM(int x, byte y)、addM(float x,double y)、addM(dou

25、ble x,double y),它们的功能均为求两个参数之和,返回值类型与第一个参数的类型相同。在主类 Applet1 中,通过 paint( )方法调用上面的三个方法,实现 12345+67、89.6f+6.9e-8、0.987654321+32.1,然后将计算结果输出,输出位置分别为坐标(20,40)、(20,60)、(20,80)。程序import java.awt.*; import java.applet.*;public class Applet1 extends Appletpublic void paint(Graphics g)g.drawString("12345

26、+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 = "+ addM(0.987654321,32.1),20,80);int addM(intx, bytey)returnx+y;float addM(floatx,doubley)(float)(x+y);returndouble addM(doublex,doubley)returnx+y;练习 4(

27、3)掌握: (1) 类的继承。(2) 在子类中如何操作父类中的私有属性。(3) 变量的作用域。1. 请编写 Applet,它由三个类定义组成,类名分别为 A、B 和 Applet1:类 A 中定义了一个类型为float 的属性 f 和一个类型为 byte 的私有属性 k;类 A 还定义了一个带有一个参数的构造函数(用于初始化 f),和两个公共方法 setk( )和getk( ), 其中 setk( ) 的功能为给私有属性 k 赋值,getk( )的功能为返回私有属性 k 的值。类 B 是类 A 的子类,其中仅定义了一个类型为 boolean 的属性 b 和一个带两个参数的构造函数(用来为父类中

28、的变量 f 和本类的变量 b 做初始化)。主类 Applet1 中定义了一个初值为 123 的 int 型变量 n 和一个 B 类的对象 x,请通过创建 x 为上述 f 和 b 赋值(f 的值为 68.963,b的值为 true); 在 paint()方法中, 给 A 类的私有属性 k 赋值 66,然后显示 f,k,b,n 的值。程序import java.awt.*; import java.applet.*;public class Applet1 extends Appletintn=123;Bx=new B(68.963f,true); public void paint(Graphi

29、cs g)x.setk(byte)66); g.drawString("f="+x.f+"class Afloat f;private byte k;k="+x.getk( )+"b="+x.b+"n="+n,10,20);A(float f1)f=f1;public byte getk( )returnk;public void setk(byte m)k=m;class B extendsAboolean b;B(float ff,boolean bb)super(ff);b=bb;2. 请按如下要求定义两个类

30、 A 和 B, 类 A 中定义一个 double 类型变量 d(将其赋值为 8.8)和一个方法 int_d(double dd ),该方法的功能是返回参数 dd 的整数部分。类 B 是类 A 的子类,其中定义一个 float 类型变量 f(将其赋值为 18.3)和一个方法 int_f(float ff ),该方法的功能是返回参数 ff 的整数部分。编写一个 Application,创建类 B 的对象 b,在主方法 main( ) 中先显示 d 和 f 的值,然后分别以 d 和 f 为实在参数调用 int_d( )方法和 int_f( )方法,并将它们的返回值显示在屏幕上。程序public cl

31、ass Class1public static void main (String args)Bb=new B( );System.out.println("d="+b.d+"f="+b.f);System.out.println("d 的整数部分="+_d(b.d)+"f 的整数部分="+_f(b.f);class Adouble d=8.8;int int_d(double dd)return(int)dd;class B extendsAfloat f=18.3f;int int_f(fl

32、oat ff)return(int)ff;3. 请编写一个 Application ,在其主类中定义一个 int 类型变量 i ,并令其初值为 123 ;主类中还定义了 m1( )和 m2( )等两个方法。在主方法 main( ) 和方法 m1( )中也各定义一个 int 类型变量 i ,它们的初值分别为 456 和 789 ;方法 m1( )的功能是输出它的局部变量 i 的值;方法 m2( )的功能是先输出类变量 i 的值 ,然后使类变量 i 增加值 6 后再次输出其值 ;主方法 main( )出它的局部变量 i 的值,然后先后调用 m1( )和 m2( )实现它们的功能。程序public

33、class Class1static int i=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("加

34、 6 后的类变量 i="+i);的功能是先输练习 5(5)掌握:(1)方法的参数为类对象、方法的返回值为类对象。(2)方法覆盖:在子类中调用被子类覆盖了的父类的同名方法。(3) 属性隐藏:在子类中(4) 构造函数的重载。被子类隐藏了的父类的同名属性。1. 请编写一个 Applet,它由两个类定义组成:类 A 中定义了 short 型变量 i 和 char 型变量 ch,及一个带两个参数的构造函数(为变量 i 和 ch 做初始化)。主类 Applet1 中创建了两个 A 类的对象 x1(i 的初始值为 12,ch 的初始值为6)和 x2(i 的初始值为 62,ch 的初始值为 65),

35、还定义了一个方法b,b 的参数和返回值均为 A 类的对象,功能为将参数对象的属性 i 加 3,属性 ch 也加 3,使返回结果为另一个 A 类的对象(即不破坏实在参数的值)。请在 paint()方法中先输出 x1、x2 的属性值,然后再分别以 x1、x2 为实在参数调用方法 b( ),并输出调用结果,最后再次输出 x1、x2 的属性值。程序import java.awt.*; import java.applet.*;public class Applet1 extends AppletA x1,x2;public void init( )x1=new A(short)12,'6

36、9;);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 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);

37、g.drawString("以 x1 为实参调用方法 b( ) 生成的新的 A 类对象的属性值:i="+a1.i+"ch="+a1.ch,20,60);g.drawString("以 x2 为实参调用方法 b( ) 生成的新的 A 类对象的属性值:i="+a2.i+"g.drawString("调用后,对象 x1 的属性值:i=" + x 1.i+" g.drawString("调用后,对象 x1 的属性值:i=" + x 2.i+"ch="+a2.ch,

38、20,80);ch="+ x 1.ch,20,100);ch="+ x 2.ch,20,120); Ab(A y)A a=new A(short)0,' ');a.i=(short)(y.i+3);a.ch=(char)(y.ch+3); returna;class Ashort i; charch;A(shorti1,char c1)i=i1;ch=c1;2. 请按如下要求定义两个类 A 和 B, 类 A 中定义一个 char 类型属性 x(将其赋值为 65)和一个在小程序窗口中输出 x 值的方法 myPrint()。类 B 是类 A 的子类,其中定义一个

39、 int 类型属性 y(将其赋值为 16)和 String 类型的属性 s(将其赋值为“java program!”); 类 B 中 也定义了一个名为 myPrint的方法,其功能为在小程序窗口中输出 y 和 s 值;类 B 中还有一个方法 printAll( ),该方法中分别调用父类和子类的 myPrint()方法做输出。编写一个 Applet,在主类 Applet1 中创建类 B 的对象 b,调用 printAll( )方法输出对象 b 的属性值。程序import java.awt.*; import java.applet.*;public class Applet1 extends A

40、ppletBb=new B( );public void paint(Graphics g)b.printAll( g);class Acharx=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)voidg.drawString("y="+y+"s="+s,20,40);printAll( Graphics

41、 g)super.myPrint(g);myPrint(g);3. 请按如下要求定义两个类 A 和 B, 类 A 中定义一个方法 area(float r), 其返回值类型为 float 型, 该方法的功能是返回半径为 r 的圆的面积(圆的面积公式为:pr2,其中 r 是圆的半径)。类 B 是类A 的子类,其中也定义了一个名为 area 的方法 area(float r),该方法的功能是返回半径为 r 的球的表面积(球的表面积的计算公式为:4r2,其中 r 为球的半径),返回值类型也为 float 型;在类 B 中还定义了另一个方法 myPrint(float r),功能是分别调用父类和子类的

42、方法 area( )计算半径相同的圆的面积和球的表面积并输出调用结果。编写一个 Application,创建类 B 的对象 b,在主方法 main( ) 中调用 myPrint(float r), 输出半径为 1.2 的圆的面积和半径为 1.2 的球的表面积。程序public class Class1public static void main (String args)Bb=newB( );b.myPrint(1.2f );class Afloat rear(float r)return(float)Math.PI*r*r;class B extends Afloat rear(float

43、 r)return4*(float)Math.PI*r*r;void myPrint(float r)System.out.println("半径为 "+r+"的圆的面积="+super.rear(r)+"同半径的球的表面积="+rear(r);4. 请编写 Applet,它由三个类定义组成: 类 A 中只定义了一个类型为 String 的对象 x 和带有一个参数的构造函数(用来初始化 x);类 B 是类 A 的子类,其中定义了一个 int 类型的变量 x 和一个带两个参数的构造函数(用来为父类中的对象 x 和类 B 中的变量 x 做

44、初始化),还定义了一个方法myPrint( ),功能为输出父类 A 中的 x 和其子类 B 中的 x 的值;主类 Applet1 中定义了 B 类的对象 b,请通过创建 b 为上述两个 x 赋值(类 A 中的 x 的值为“这是父类的 x.”,过 paint()方法在坐标(20,30)处显示两个 x 的值。程序import java.awt.*; import java.applet.*;public class Applet1 extends AppletBb=new B("这是父类的 x.",68 ); public void paint(Graphics g)类 B 中

45、的 x 的值为 68),通b.myPrint(g);class AStringx; A(Stringx1)class B extends Aint x;x=x1;B(Stringx1,int x2)super(x1);x=x2;voidmyPrint(Graphics g)g.drawString("父类 A 中 x 的值="+super.x+"子类B 中x 的值="+x,20,30);5. 请编写 Applet,它由三个类定义组成, 类名分别为 A、B 和 Applet1:类 A 中定义了类型为 int 的变量 i、类型为 float 的变量 f 和类

46、型为 char 的变量 ch;类 A 还定义了三个构造函数,其中,第一个构造函数带有一个 int 类型的参数(用于初始化 i),第二个构造函数带有两个参数(参数类型分别为 int和 float,用于初始化 i 和 f), 第三个构造函数带有三个参数(参数类型分别为 int、float 和 char,用于初始化 i、f 和 ch)。类 B 是类 A 的子类,其中仅定义了一个类型为 boolean 的变量 b 和一个带四个参数的构造函数(用来为父类中的变量 i、f、ch 和本类的变量 b 做初始化)。主类 Applet1 中定义了一个初值为 32.6 的 double 型变量 d 和一个 B 类的

47、对象 b,请通过创建 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 Appletdouble d=32.6;Bb=new B(50,7.2f,'h',true );public void paint(Graphics g)g.drawString("i="+b.i+&quo

48、t;f="+b.f+"ch="+b.ch+"b="+b.b+"d="+d,10,30);class Aint i; float f; char ch;A(int A(intA(intx)i=x; x,float y) this(x);f=y; x,float y,char z) this(x,y);ch=z;class B extends Aboolean b;B(intx,float y,char z,boolean w)super(x,y,z);b=w;练习 6(5)掌握:接口、抽象类、最终类的编程;字符串的使用。1.

49、定义接口A,接口内有两个方法: method1(int x)和 method2(int x,int y),它们的返回值类型均为int。请编写一个 Applet,并使其实现接口 A:令方法 method1(int x)的功能是求 5 的 x 次方、方法method2(int x,int y) 的功能是求两参数的最大值。在 pain(t )方法中调用这两个方法,显示 method1(2)和 method2(2,8)的结果。程序import java.awt.*; import java.applet.*;public class Applet1 extends Appletimplements A

50、public void paint(Graphics g)g.drawString("调用 method1(2)的结果: "+method1(2),20,20); g.drawString("调用 method2(2,8)的结果: "+method2(2,8),20,40);publicintmethod1(int x)int result=1;for(int i=1;i<=x;i+) result*=5;returnresult;publicintreturnmethod2(int x,int y)x>y?x:y;interface Apu

51、blic abstract intmethod1(int x); public abstract intmethod2(int x,int y);2. 定义名为 VolumeArea 的抽象类,在其中定义圆周率p的值为3.14159,并定义两个抽象方法volume(double r)和 area(double r),它们的返回值类型均为 float。再定义以类 VolumeArea 为父类的子类 VolumeAndArea,在该子类中实现父类中的抽象方法:方法 volume(double r) 的功能是求半径为 r 的球的体积(公式为:4pr3¸3);方法 area(double r

52、)的功能是求半径为 r 的圆的面积(公式为:pr2)。请编写一个 Application ,在其主类中定义一个 VolumeAndArea 类的对象 x,通过对象 x 求半径为 r(r 的值由命令行给定)的球的体积及该球最大切面的圆的面积,并输出计算结果。程序publicclassClass1staticVolumeAndAreax=newVolumeAndArea( ); publicstaticvoidmain(String args)floatr=Float.valueOf(args0).floatValue( ); System.out.println("半径为"+

53、r+"的球的体积="+x.volume(r); System.out.println("半径为"+r+"的圆的面积="+ x.area(r);abstractclassVolumeAreastaticfinalfloatmyPI=3.14159f;public abstractfloatpublic abstractfloatvolume(doubler);area(doubler);classVolumeAndAreaextendsVolumeAreapublicfloatvolume(doubler)return(float)(4

54、*myPI*r*r*r/3);publicfloatarea(doubler)return(float)(myPI*r*r);3. 定义类 A,在其中定义一个 final 变量 myPI,其类型为 float,值为 3.1416;类 A 中还定义一个 final 方法 m1(float r),该方法返回值类型为 float,功能是求半径为 r 的圆的周长(公式为:2pr)。再定义类 A 的子类 B,B 为 final 类,其中定义一个返回值类型为 void 的方法 m2(float r),功能是先调用父类的方法 m1( )求半径为 r 的圆的周长并输出计算结果,然后输出同一个圆的面积(公式为:

55、pr2)。请编写一个 Application ,利用类 B 计算并输出半径为 5 的圆的周长和面积。程序publicclassClass1staticBx=newB( );publicstaticvoidmain(String args)x.m2(5);classAfinalfloatmyPI=3.1416f; publicfinalfloatm1(floatr)return2*myPI*r;finalclassBextendsApublicvoidm2(floatr)System.out.println("半径为"+r+"的圆的周长="+m1(r);

56、System.out.println("半径为"+r+"的圆的面积="+myPI*r*r);4编写应用程序,功能为:从命令行传入一个包含十个字符的字符串,把该字符串与程序中给定的字符串"bacdbcabca"依次比较,统计两个串中对应字符相等的数目。然后输出命令行输入的字符串, 并把两个串中对应字符不相等的字符替换为''后生成的新串输出,最后输出两个串中相等字符的数目。程序public class Class1public static void main(String args)throws IOExceptioni

57、f(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;x<str.length();x+)System.out.print(""+str.charAt(x); System.out.println();System.ou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论