1. 程式人生 > 實用技巧 >編寫三角形類,實現三角形面積和周長計算等功能。

編寫三角形類,實現三角形面積和周長計算等功能。

/*
編寫三角形類,實現三角形面積和周長計算等功能。
要求:
(1)三個屬性
(2)兩個構造方法和全部getter和setter
(3)三個自定義的方法:面積、周長、是否是直角三角形。
(4)單獨編寫測試類,測試類的全部功能。
*/

class Triangle{
//三條邊屬性私有化
private double edge1;
private double edge2;
private double edge3;
//構造方法
public Triangle() {
}

public Triangle(double edge1, double edge2, double edge3) {
this.edge1 = edge1;
this.edge2 = edge2;
this.edge3 = edge3;
}
//setter和getter
public void setEdge1(double edge1) {
this.edge1 = edge1;
}

public void setEdge2(double edge2) {
this.edge2 = edge2;
}

public void setEdge3(double edge3) {
this.edge3 = edge3;
}

public double getEdge1() {
return edge1;
}

public double getEdge2() {
return edge2;
}

public double getEdge3() {
return edge3;
}
/*三條邊求三角形面積
(海倫公式)(p=(a+b+c)/2)
S=sqrt[p(p-a)(p-b)(p-c)]
*/
public double area(){
double p;
p=(edge1+edge2+edge3)/2;
return Math.sqrt(p*(p-edge1)*(p-edge2)*(p-edge3));
}
public double perimeter (){
return edge1+edge2+edge3;
}
public boolean isRightTriangle(){
if (Math.pow(edge1,2)+Math.pow(edge2,2)==Math.pow(edge3,2)||Math.pow(edge1,2)+Math.pow(edge3,2)==Math.pow(edge2,2)||Math.pow(edge2,2)+Math.pow(edge3,2)==Math.pow(edge1,2))
return true;
return false;
}
}
public class Text03 {
public static void main(String[] args) {
Triangle triangle=new Triangle(3,4,5);
System.out.println(triangle.isRightTriangle()==true?"是直角三角形":"不是直角三角形");
System.out.println("面積為:"+triangle.area());
System.out.println("周長為:"+triangle.perimeter());
}
}