永发信息网

求一个JAVA程序?

答案:3  悬赏:50  手机版
解决时间 2021-04-23 10:03

编写程序,在程序中定义一个抽象类Area、两个Area类的派生子类RectArea类和RoundArea类。程序的实现要求如下:

(1) 抽象类Area类只包含一个抽象方法 double area()。

(2) 子类RectArea类通过覆盖父类中的抽象方法area()来求圆的面积,另外一个子类RectArea类通过覆盖父类中的抽象方法area()来求长方形的面积。

(3) 圆的半径和长方形的边分别定义为子类RectArea类和RoundArea类的属性,为double类型。

最佳答案

首先来写那个抽象类


(1) 抽象类Area类只包含一个抽象方法 double area()。



public abstract class Area {
public abstract double area(); //抽像方法area的定义
}



很简单 就定一个方法 具体怎么做 看继承的子类来实现



然后我们在来看看园的子类是怎么来现实的


public class RoundAreaextends Area{




private Double r;
private final double T = 3.14;

public RoundArea(double r)//构造函数
{
this.r=r;
}

public double area() {//从写父类的方法

return this.T*this.r*this.r;
}


}



这个是继承类抽象类的园



接下来写RectArea 长方形



public class RectArea extends Area{



private double w;
private double h;


public RectArea(double w,double h)//构造函数
{
this.h=h;
this.w=w;
}


public double area() {

return this.w*this.h;
}


}



接下来看看测试类


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;



public class ceshi {



public static void main(String[] args) {



BufferedReader in = new BufferedReader(new InputStreamReader(System.in));


Area st;



try {

System.out.println("请输入圆半径");

double r = Float.parseFloat(in.readLine());

st = new RoundArea(r);

System.out.println("半径是"+r+"的园的面积是:"+st.area());

System.out.println("请输入长方形的长");
double w = Float.parseFloat(in.readLine());
System.out.println("请输入长方形的高");
double h = Float.parseFloat(in.readLine());

st = new RectArea(w,h);

System.out.println("长是"+w+"高是"+h+"的长方形面积是:"+st.area());

} catch (NumberFormatException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}

}


}



看看测试结果


全部回答

abstract class Area{ double a; double b; Area(double a,double b){ this.a = a; this.b = b; } abstract double area(); } class RectArea extends Area{ RectArea(double a,double b){ super(a,b); } double area(){ return a*b/2; } } class RoundArea extends RectArea{ RoundArea(double a,double b){ super(a,b); } double area(){ return a*b; } } public class Test3{ public static void main(String[] args){ RectArea Rect = new RectArea(10,10); Area aa; aa = Rect; System.out.println("三角形面积:"+aa.area()); RoundArea round = new RoundArea(10,10); aa = round; System.out.println("四边形面积:"+aa.area()); } }

简介 明了

程序代码:

abstract class Area { abstract double Area(); } class RectArea extends Area { private double length; private double width; public RectArea(double l,double w) { length = l; width = w; } public double Area() { return length*width; } } class RoundArea extends Area { private double r;

public RoundArea(double r) { this.r=r; } public double Area() { return Math.PI*r*r; } }

public class Test { public static void main(String args[]) { RectArea rect = new RectArea(4,6); System.out.println("长方形面积:"+rect.Area()); RoundArea round = new RoundArea(5); System.out.println("圆面积:"+round.Area()); } }

程序运行结果:

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
帮我纽扣公司起名字
紫罗兰和堇是不是一种花
长辈对新婚祝福语大全,结婚祝福短信
无极县公安局北苏镇派出所怎么去啊,有知道地
QQ空间日志的醒目灯什么时候能用
米色是暖色还是冷色
爱丽丝学园动画结局是什么?
QQ三国情侣降级
爱情孤独的句子,形容孤独寂寞的古风句子
我是第一次买BB就买了迷尚的。但不是红色的。
开封一高的具体地址?
《苹果的启示》诗句
手机已经认证过怎么系统显示没实名认证
炉石传说卡库台词大全,炉石传说橙卡的出场台
有开外挂的应该怎么起诉
推荐资讯
评价詹宁斯与巴丁格
请问北原夏美的DVD碟
怎么样提高网速?
暗恋的女生前两天忽然不理我,朋友圈开始屏蔽
颜色纠结中,绅士蓝到底怎么样
手机怎么发布长微博,2016年版本的手机新浪微
熊猫有什么作用
怎样制作姜红茶
手机没有JAVA能玩怎样的游戏?
Q飞车酷币车要多少钱?
QuickTime 播放视频的时候图像很卡
云片糕英语怎么说,云片糕的做法,云片糕怎么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?