题目描述
给定三条边,请你判断一下能不能组成一个三角形。
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");
}
}
}
}