早教吧 育儿知识 作业答案 考试题库 百科 知识分享

java问题。求解1、定义一个名叫Figure的class,其中有两个int型的属性,x和y;还有一个计算面积的方法,只是在方法体中,不做任何事2、再定义一个名叫Triangle的class,继承于Figure,并且重写Fi

题目详情
java问题。求解
1、定义一个名叫Figure的class,其中有两个int型的属性,x和y;还有一个计算面积的方法,只是在方法体中,不做任何事
2、再定义一个名叫Triangle的class,继承于Figure,并且重写Figure的方法area,在该area中求出三角形的面积。
3、再定义一个名叫Rectangle的class,继承于Figure,并且重写Figure的方法area,在该area中求出矩形的面积。
4、再定义一个名叫Circle的class,继承于Figure,并且重写Figure的方法area,在该area中求出圆形的面积。
把上面的条件中,对Figure这个父类,添加一个方法,求周长,也是什么都不做
在Triangle、Rectangle、Circle三个类中,重写Figure中的求周长的方法。

Triangle中,需要扩展一条边出来,同时,对求面积的方法,需要做修改。
已知三角形的三条边,求面积。【海伦公式】
▼优质解答
答案和解析
public class Test {
\x09public static void main(String[] args){
\x09\x09Triangle t = new Triangle(3,4,5);
\x09\x09System.out.println(t.area());
\x09\x09System.out.println(t.perimeter());
\x09}
}

class Figure{
\x09int x;
\x09int y;
\x09public double area(){
\x09\x09return 0;
\x09}
\x09public double perimeter(){
\x09\x09return 0;
\x09}
\x09Figure(int x,int y){
\x09\x09this.x = x;
\x09\x09this.y = y;
\x09}
}

class Triangle extends Figure{
\x09int z;
\x09public double area(){
\x09\x09double p = (x+y+z)/2;
\x09\x09return Math.sqrt(p*(p-x)*(p-y)*(p-z));
\x09}
\x09public double perimeter(){
\x09\x09return x+y+z;
\x09}
\x09Triangle(int x, int y, int z){
\x09\x09super(x,y);
\x09\x09this.z = z;
\x09}
}

class Rectangle extends Figure{
\x09public double area(){
\x09\x09return x*y;
\x09}
\x09public double perimeter(){
\x09\x09return 2*(x+y);
\x09}
\x09Rectangle(int x, int y){
\x09\x09super(x,y);
\x09}
}


class Circle extends Figure{
\x09public double area(){
\x09\x09return Math.PI*x*x;
\x09}
\x09public double perimeter(){
\x09\x09return Math.PI*2*x;
\x09}
\x09Circle(int x){
\x09\x09super(x,0);
\x09}
}