當前位置:編程學習大全網 - 源碼下載 - java程序:計算三角形的面積和周長.

java程序:計算三角形的面積和周長.

/**

* 利用海倫公式求面積就行了

如果周長為l,p為周長的壹半,a,b,c為三邊

面積s的平方 = p*(p-a)*(p-b)*(p-c)

註意,開發在java中使用Math。sqrt(要開平方的數)

* */

public class Triangle {

private boolean isTriangle = false; //用於判斷3個點去定的3個邊是否能組成三角形

private double a = 0.0d; //邊a

private double b = 0.0d; //邊b

private double c = 0.0d; //邊c

private double l = 0.0d; //周長

private double s = 0.0f; //面積

//(x1,y1),(x2,y2),(x3,y3)分別為三角形三個頂點坐標

public Triangle(int x1, int y1, int x2, int y2, int x3, int y3){

Point p1 = new Point(x1,y1);

Point p2 = new Point(x2,y2);

Point p3 = new Point(x3,y3);

a = getSide(p1,p2); //利用兩點求邊

b = getSide(p1,p3);

c = getSide(p2,p3);

if(isTriangle){ //如果是三角形再求周長和面積

getL();

getS();

}

}

//利用兩個點來獲取邊

private double getSide(Point p1, Point p2){

double sub1 = 0.0d; //橫坐標之差

double sub2 = 0.0d; //縱坐標之差

sub1 = p1.x > p2.x ? p1.x - p2.x : p2.x - p1.x;

sub1 = p1.y > p2.y ? p1.y - p2.y : p2.y - p1.y;

return Math.sqrt((sub1*sub1 + sub2*sub2));

}

//獲取周長

private void getL(){

l = a + b + c;

}

//獲取面積

public void getS(){

double p = l/2;

s = Math.sqrt(p*(p-a)*(p-b)*(p-c));

}

public void print(){

System.out.println("三邊長為:"+a+","+b+","+c);

System.out.println("周長為:"+l);

System.out.println("面積為:"+s);

}

//點類(僅供 Triangle 類使用的內部類)

private class Point{

public int x = 0;

public int y = 0;

public Point(int px, int py){

x = px;

y = py;

}

}

public static void main(String[] args) {

//求(1,1)、(1,4)、(5,1)三個坐標組成的三角形的周長和面積

Triangle tri = new Triangle(1,1,1,4,5,1);//實例化壹個三角形

tri.print(); //輸出屬性

}

}

  • 上一篇:Windows系統中帶有“掃雷遊戲”的目的是什麽?
  • 下一篇:解密加密貨幣第壹股Coinbase:風險、機遇和未來展望
  • copyright 2024編程學習大全網