The formula for computing the area of a triangle is:
A = { S * ( S - a ) * ( S - b ) * ( S - c ) } ^ 0.5
設計一個程式讓使用者輸入一三角形的三點座標 ( x1 , y1 ) , ( x2 , y2 ) , ( x3 , y3) 然後印出其面積。
如果三角形的三邊長為a、b、c,面積為 A,S = ( a + b + c ) / 2, 我們可以得到
A = { S * ( S - a ) * ( S - b ) * ( S - c ) } ^ 0.5
A = { S * ( S - a ) * ( S - b ) * ( S - c ) } ^ 0.5
import java.util.Scanner;//Scanner is in the java.util package
public class C1
{
public static void main(String[] args)
{
// create Scanner object
Scanner input = new Scanner(System.in);
// 創建並提示使用者輸入 x1
System.out.println("Enter a number for x1");
double x1 = input.nextDouble();
// 創建並提示使用者輸入 y1
System.out.println("Enter a number for y1");
double y1 = input.nextDouble();
// 創建並提示使用者輸入 x2
System.out.println("Enter a number for x2");
double x2 = input.nextDouble();
// 創建使用者輸入 y2
System.out.println("Enter a number for y2");
double y2 = input.nextDouble();
//創建並提示使用者輸入 x3
System.out.println("Enter a number for x3");
double x3 = input.nextDouble();
// 創建並提示使用者輸入 y3
System.out.println("Enter a number for y3");
double y3 = input.nextDouble();
// 計算 side1
double a1 = ( x2 - x1 ) * ( x2 - x1 );
double a2 = ( y2 - y1 ) * ( y2 - y1 );
double a3 = a1 + a2;
double side1 = (Math.pow( a3 , 0.5 ));
// 計算 side2
double b1 = ( x3 - x2 ) * ( x3 - x2 );
double b2 = ( y3 - y2 ) * ( y3 - y2 );
double b3 = b1 + b2;
double side2 = (Math.pow( b3 , 0.5 ));
// 計算 side3
double c1 = ( x1 - x3 ) * ( x1 - x3 );
double c2 = ( y1 - y3 ) * ( y1 - y3 );
double c3 = c1 + c2;
double side3 = (Math.pow( c3 , 0.5 ));
//計算 S
double s = ( side1 + side2 + side3 ) / 2;
//計算 a,b,c,d
double a = s - side1;
double b = s - side2;
double c = s - side3;
double d = s * a * b * c;
//計算 area
double area = (Math.pow( d , 0.5 ));
/顯示運算結果
System.out.println("(" + x1 + "," + y1 + ")" +
"(" + x2 + "," + y2 + ")" +
"(" + x3 + "," + y3 + ")" +
"面積是"+ area );
}
}