当前位置:首页 > Java程序上机练习题
} }
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
共分享92篇相关文档