Java程序上机练习题 联系客服

发布时间 : 星期一 文章Java程序上机练习题更新完毕开始阅读2dfdfc4b2b160b4e767fcfac

} }

4. 请编写Applet,它由三个类定义组成: 类A中只定义了一个类型为String的对象x和带有一个参数的构造函数(用来初始化x);类B是类A的子类,其中定义了一个int类型的变量x和一个带两个参数的构造函数(用来为父类中的对象x和类B中的变量x做初始化),还定义了一个方法myPrint( ),功能为输出父类A中的x和其子类B 中的x的值;主类Applet1中定义了B类的对象b,请通过创建b为上述两个x赋值(类A中的x的值为“这是父类的x.”, 类B中的x的值为68),通过paint()方法在坐标(20,30)处显示两个x的值。 @程序

import java.awt.*; import java.applet.*;

public class Applet1 extends Applet { } class A {

String x; }

class B extends A { }

5. 请编写Applet,它由三个类定义组成, 类名分别为A、B和Applet1:类A中定义了类型为int的变量i、类型为float的变量f和类型为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类的对象b,请通过创建b为上述i、f、ch和b赋值(i的值为50,f的值为7.2,ch的值为’h’,b的值为true),用paint()方法在(10,30)位置处显示i,f,ch,b,d的值。

int x;

B(String x1,int x2){ super(x1); x=x2; void myPrint(Graphics g) {

g.drawString(\父类A中x的值=\ 子类B中x的值=\ }

}

A(String x1){

x=x1;

}

B b=new B(\这是父类的x.\public void paint(Graphics g) {

b.myPrint(g);

}

@程序

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(\ f=\ ch=\ b=\ d=\ } }

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 A { boolean b; B(int x,float y,char z,boolean w){ super(x,y,z); b=w; } }

练习6(5)

掌握:接口、抽象类、最终类的编程;字符串的使用。

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

import java.awt.*; import java.applet.*;

public class Applet1 extends Applet implements A { public void paint(Graphics g) { g.drawString(\调用method1(2)的结果: \ g.drawString(\调用method2(2,8)的结果: \

} public int method1(int x) { int result=1; for(int i=1;i<=x;i++) result*=5; return result; } public int method2(int x,int y) { return x>y?x:y; } }

interface A { public abstract int method1(int x); public abstract int method2(int x,int y); }

2. 定义名为VolumeArea的抽象类,在其中定义圆周率?的值为3.14159,并定义两个抽象方法volume(double r)和area(double r),它们的返回值类型均为float。再定义以类VolumeArea为父类的子类VolumeAndArea,在该子类中实现父类中的抽象方法:方法volume(double r) 的功能是求半径为r的球的体积(公式为:4?r3?3);方法area(double r)的功能是求半径为r的圆的面积(公式为:?r2)。请编写一个Application ,在其主类中定义一个VolumeAndArea类的对象x,通过对象x求半径为r(r的值由命令行给定)的球的体积及该球最大切面的圆的面积,并输出计算结果。 @程序

public class Class1 {

static VolumeAndArea x=new VolumeAndArea( ); public static void main(String[ ] args) {

float r=Float.valueOf(args[0]).floatValue( );

System.out.println(\半径为\的球的体积=\ System.out.println(\半径为\的圆的面积=\ } }

abstract class VolumeArea {

static final float myPI=3.14159f;

public abstract float volume(double r); public abstract float area(double 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的圆的周长(公式为:2?r)。再定义类A的子类B,B为final类,其中定义一个返回值类型为void的方法 m2(float r),功能是先调用父类的方法m1( )求半径为r的圆的周长并输出计算结果,然后输出同一个圆的面积(公式为:?r2)。请编写一个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 extends A {

public void m2(float r) {

System.out.println(\半径为\的圆的周长=\ System.out.println(\半径为\的圆的面积=\ } }

4.编写应用程序,功能为:从命令行传入一个包含十个字符的字符串,把该字符串与程序中给定的字符串\依次比较,统计两个串中对应字符相等的数目。然后输出命令行输入的字符串,并把两个串中对应字符不相等的字符替换为'@'后生成的新串输出,最后输出两个串中相等字符的数目。 @程序

public class Class1 {

public static void main(String args[]) throws IOException {

if(args[0].length()<10) System.out.print(\else