这个问题是使用类和构造方法吗 实在是不会了,运行好几遍都不对
1、创建一个三角形MyTriangle类,具有以下内容:
三个私有的成员变量sideA、sideB、sideC,表示三角形的三条边;
定义成员变量sideA、sideB、sideC的访问器和修改器;
一个无参的构造方法,设置sideA、sideB、sideC的初值为3,4,6;
一个有参数的构造方法,利用参数sideA、sideB、sideC创建对象;
定义一个方法public double getArea()计算面积,使用海伦公式。
定义一个方法public String getType()判断三角形的类型(普通三角形、直角三角形、等腰三角形)
定义一个方法public double getHeight(),求三角形某边对应的高
public class MyTriangle {
private int sideA;
private int sideB;
private int sideC;
public MyTriangle(){}
public MyTriangle(int sideA, int sideB, int sideC) {
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
}
public int getSideA() {
return sideA;
}
public void setSideA(int sideA) {
this.sideA = sideA;
}
public int getSideB() {
return sideB;
}
public void setSideB(int sideB) {
this.sideB = sideB;
}
public int getSideC() {
return sideC;
}
public void setSideC(int sideC) {
this.sideC = sideC;
}
public double getArea(){
double s = (sideA+sideB+sideC)/2.0;
double v = s*(s-sideA)*(s-sideB)*(s-sideC);
return Math.sqrt(v);
}
public String getType(){
if((sideA+sideB<=sideC)||(sideA+sideC<=sideB)||(sideB+sideC<=sideA)){
return "不是三角形";
}else if(sideA==sideB||sideB==sideC||sideA==sideC){
return "等腰三角形";
}else if(sideA*sideA==sideB*sideB+sideC*sideC || sideB*sideB==sideA*sideA+sideC*sideC || sideC*sideC==sideA*sideA+sideB*sideB){
return "直角三角形";
}else{
return "三角形";
}
}
public double getHeight(){
return getArea()*2/sideA;
}
public static void main(String[] args) {
MyTriangle triangle=new MyTriangle(3,4,5);
System.out.println("面积:"+triangle.getArea());
System.out.println("三角形类型:"+triangle.getType());
System.out.println("三角形的高:"+triangle.getHeight());
}
}
这就是一个三角形类啊,有成员变量,构造函数和一些方法。说的挺清楚了
代码贴出来,可以帮着改改
代码贴出来看看吧,能帮你找错误,你这样说,你只能看到别人写的东西,你自己写的到底错那了你还是不知道
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!