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 ); } }