is it a triangle?


Submit solution

Points: 40
Time limit: 1.0s
Memory limit: 256M

Authors:
Problem type
Allowed languages
Java 19, Java 8

題目說明

請設計一名為Triangle的類別,表三角形,該類別有以下變數:

`sideA`: double,表三角形的第一條邊
`sideB`: double,表三角形的第二條邊
`sideC`: double,表三角形的第三條邊

且有以下方法:

`setEdge`:傳入三個代表邊長的參數
`isTriangle`:判斷三邊是否可以構成一個三角形,傳回`true`或`false`
`ShowDetail`:回傳字串,其中包含三角形三邊長與是否可以構成一個三角形

輸入

三角形三邊長

輸出

三邊長與是否可以構成一個三角形

測試資料0 輸入

1 3 2

測試資料0 輸出

1.0 3.0 2.0 false

Comments


  • 0
    scu09156146  commented on May 2, 2024, 10:26 p.m. edited

    題解

    import java.util.Scanner;
    
    class Triangle {
        private double sideA, sideB, sideC;
    
        public Triangle() {
        }
    
        public void setEdge(double s1, double s2, double s3) {
            // 設定三邊長
            sideA = s1;
            sideB = s2;
            sideC = s3;
        }
    
        public String isTriangle() {
            // 若「兩短邊和」大於「最長邊」,符合三角形邊長條件
            // 先用if-else判斷「最長邊」為何
            if (sideA >= sideB && sideA >= sideC) {
                return (sideB + sideC > sideA) ? "true" : "false";
            } else if (sideB >= sideA && sideB >= sideC) {
                return (sideA + sideC > sideB) ? "true" : "false";
            } else if (sideC >= sideB && sideC >= sideA) {
                return (sideB + sideA > sideC) ? "true" : "false";
            } else {
                return "false";
            }
        }
    
        public void ShowDetail() {
            // 印出訊息
            System.out.print(sideA + " " + sideB + " " + sideC + " " + this.isTriangle());
            // 用this.isTriangle()呼叫class的方法(Method)
        }
    }
    
    public class IsTriangle {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner input = new Scanner(System.in);
            Triangle triangle = new Triangle(); // 建立Triangle物件
            // 設定物件的三個邊長
            triangle.setEdge(input.nextDouble(), input.nextDouble(), input.nextDouble()); 
            input.close();
            triangle.ShowDetail(); // 顯示訊息
        }
    
    }