java判断是否能组成三角形

时间:2025-02-19 10:40:42

文章目录

  • 题目描述
  • 解题思路
  • 代码如下


题目描述

给定三条边,请你判断一下能不能组成一个三角形。

eg:

输入:
1 2 3
2 2 2

输出:
No
Yes


以下是本篇文章正文内容,下面案例可供参考

解题思路

由题意得:要判断三条边得长度是否能组成一个三角形

条件为:任意两边的和要大于第三边,任意两边的差要小于第三边

注意:求差时要取绝对值

代码如下

import java.util.Scanner;

import static java.lang.Math.abs;

public class Main {

	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            double a = sc.nextDouble();
            double b = sc.nextDouble();
            double c = sc.nextDouble();
            if (a + b > c && a + c > b && b + c > a ) {
            //(abs(a - b) < c && abs(a - c) < b && abs(b - c) < a) 
                System.out.println("Yes");
            } else {
                System.out.println("No");
            }
        }
    }
}

使用BigDecimal:

import java.util.*;
import java.math.*;

import static java.lang.Math.abs;

public class Main {

	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            BigDecimal a = sc.nextBigDecimal();
            BigDecimal b = sc.nextBigDecimal();
            BigDecimal c = sc.nextBigDecimal();
            if (a.add(b).compareTo(c)>0&&a.add(c).compareTo(b)>0&&b.add(c).compareTo(a)>0){
                System.out.println("Yes");
            }else {
                System.out.println("No");
            }
        }
    }
}