java 三角形、梯形和圆形的类封装
1个回答

你稍等一下,我把代码测试通过后.给你贴出来

您有以下几处错误:

1,Trangle书写错误 Trangle

public Trangle(double a,double b,double c) ===》public Trangele(double a,double b,double c)

(错误)public Trangle(double a,double b,double c)

{

sideA=a;sideB=b;sideC=c;

if(a+b>c&&a+c>b&&b+c>a)

{

boo=true;

}

2,siedB书写错误

double p=(sideA+siedB+sideC)/2.0; ===>double p=(sideA+sideB+sideC)/2.0;

(错误)public double getArea()

{if(boo)

{

double p=(sideA+siedB+sideC)/2.0;

area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));

return area;

总结:

在你整个的错误当中主要是Trangle 雷明不统一造成的,已经书写马虎.siedB

你需要理解有参构造方法,需要和类名相同.已经void没有返回值,double 类型需要有返回值,而且return 的位置.以下是经测试正确运行的代码:

类一:

package shiyan1;

public class Trangle {

x09double sideA,sideB,sideC,area,length;

x09boolean boo;

x09

x09public Trangle(double a,double b,double c)

x09{

x09x09sideA=a;sideB=b;sideC=c;

x09x09if(a+b>c&&a+c>b&&b+c>a)

x09x09{

x09x09x09boo=true;

x09x09}

x09

x09}

x09

x09public double getArea(){

x09x09if(boo){

x09x09x09double p=(sideA+sideB+sideC)/2.0;

x09x09x09area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));

x09x09}

x09x09return area;

x09x09

x09}

x09

x09

x09public void setABC(double a,double b,double c){

x09x09sideA=a;sideB=b;sideC=c;

x09x09if(a+b>c&&a+c>b&&b+c>a)

x09x09{

x09x09x09boo=true;

x09x09}

x09x09

}

x09

x09

}

类二:

public class AreaAndLength

{

x09public void main(String args[])

x09{

x09x09double length,area;

x09x09Circle circle=null;

x09x09Trangle trangle;

x09x09Lader lader;

x09x09circle=new Circle(10);

x09x09trangle=new Trangle(3,4,5);

x09x09lader=new Lader(3,4,10);

x09x09length=circle.getLength();

x09x09

x09}

}