java判断三角形类型需先验证三边能否构成三角形(a+b>c且a+c>b且b+c>a),否则返回“不构成三角形”;再依次判断等边(a==b&&b==c)、等腰(a==b||a==c||b==c)、直角(排序后两短边平方和等于最长边平方)及其他斜三角形。

Java 中判断三角形类型,核心是先验证能否构成三角形,再根据三边关系分类。关键在于条件分支的逻辑组合要严谨,避免遗漏或冲突。
第一步:验证是否能构成三角形
任意两边之和大于第三边(三个不等式必须同时成立):
- a + b > c
- a + c > b
- b + c > a
只要有一个不满足,就不是三角形,直接返回“不构成三角形”。
第二步:判断是否为等边三角形
三边完全相等是最强约束,应放在条件链最前面(避免被更宽泛的条件提前捕获):
- a == b && b == c
满足则为等边三角形;注意用 == 比较基本类型 int 或 double 即可(若用 Double 对象需用 equals)。
第三步:判断是否为等腰三角形
只需任意两边相等(且已排除等边情况),所以写在等边之后:
- a == b || a == c || b == c
此时已知三边不全等,因此该条件成立即为等腰(非等边)三角形。
第四步:剩余情况判断直角或普通锐/钝角三角形
若三边互不相等,可进一步按勾股定理判断是否为直角三角形(注意先排序或枚举平方和):
- 将三边按升序排列,设为
x ≤ y ≤ z,检查x*x + y*y == z*z - 若成立,是直角三角形;否则是普通斜三角形(可补充判断锐角/钝角:比较
x²+y²与z²大小)
例如:int[] s = {a, b, c}; Arrays.sort(s); if (s[0]*s[0] + s[1]*s[1] == s[2]*s[2])。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











