题目:设计一个程序可以计算平面图形的面积。
答案:2 悬赏:70
解决时间 2021-02-03 00:34
- 提问者网友:我是我
- 2021-02-02 08:29
题目:设计一个程序可以计算平面图形的面积。1.使用interface关键字定义Shape接口,接口中包含一个求解面积的方法定义;2.使用extends从接口Shape派生出接口Shape2D,并为接口Shape2D添加一个求解周长的方法定义; 3.编写一个Circle类,该类实现Shape2D接口; 4.定义一个Scaleable接口,该接口中定义一个scale(double proportion)方法;5. 编写一个可缩放的圆形CircleScaleable类,该类继承于Circle类同时实现Scaleable接口;6.编写一个CircleScaleable类的测试程序,生成CircleScaleable类的若干对象,并计算其缩放前后的面积和周长。
最佳答案
- 二级知识专家网友:劳资的心禁止访问
- 2021-02-02 09:24
楼上的有意思啊 顶七岁就会算面积了 还是不错滴 值得鼓励java的不会 .NET的我会
全部回答
- 1楼网友:没感情的陌生人
- 2021-02-02 09:56
//7
public class circlescaleabletest {
public static void main(string[] args){
circlescaleable cs = new circlescaleable(4);
system.out.println("周长:"+cs.getperimeter());
system.out.println("面积:"+cs.getarea());
//半径放大两倍
cs=(circlescaleable)cs.scale(2.0d);
system.out.println("周长:"+cs.getperimeter());
system.out.println("面积:"+cs.getarea());
//半径放大1/4倍
cs=(circlescaleable)cs.scale(1/4d);
system.out.println("周长:"+cs.getperimeter());
system.out.println("面积:"+cs.getarea());
}
}
//1
interface shape{
public double getarea();
}
//2-1
interface shape2d extends shape{
public double getperimeter();
}
//2-2
interface shape3d extends shape{
public double getvolume();
}
//5
interface scaleable{
public shape scale(double p);
}
//3
class circle implements shape2d{
private final double pi = 3.14;
private double radius;
public circle(double r){this.radius=r;}
public double getperimeter() {
return this.radius*2*pi;
}
public double getarea() {
return this.radius*this.radius*pi;
}
}
//6
class circlescaleable extends circle implements scaleable{
private double radius;
public circlescaleable(double r) {
super(r);
this.radius=r;
}
public shape scale(double p) {
return new circlescaleable(this.radius*p);
}
}
//4
class square implements shape3d{
private double l,w,h;
public square(double le,double wi,double he){
this.l=le;this.w=wi;this.h=he;
}
public double getvolume() {
return l*w*h;
}
public double getarea() {
return (l*w+w*h+h*l)*2;
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯