编写一个完整的Java代码,输入三角形的三条边用来判断是否构成三角形、等腰三角形、等边三角形、直角三角形,并且使用while循环语句
时间: 2024-09-30 09:06:13 浏览: 32
根据输入三角形三条边判断该三角形形状
当然可以。首先,我们需要创建一个Java程序,该程序会提示用户输入三角形的三条边长,然后检查它们是否满足构成三角形的基本条件(任意两边之和大于第三边)。接着,我们会进一步检查三角形的类型。以下是整个程序的完整示例:
```java
import java.util.Scanner;
public class TriangleClassifier {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double a, b, c;
// 使用 while 循环获取用户输入,直到输入合法的边长
while (true) {
System.out.println("请输入三角形的三条边(a, b, c, 输入 q 结束):");
if ("q".equals(scanner.nextLine())) break; // 用户选择退出
try {
a = Double.parseDouble(scanner.nextLine());
b = Double.parseDouble(scanner.nextLine());
c = Double.parseDouble(scanner.nextLine());
// 检查输入是否能构成三角形
if (a + b > c && a + c > b && b + c > a) {
classifyTriangle(a, b, c); // 调用分类函数
} else {
System.out.println("输入的边长无法构成三角形,请重新输入。");
}
} catch (NumberFormatException e) {
System.out.println("输入错误,请输入数字!");
}
}
scanner.close();
}
private static void classifyTriangle(double a, double b, double c) {
// 判断三角形类型
if (a == b && b == c) { // 等边三角形
System.out.println("这是一个等边三角形。");
} else if (a.equals(b) || b.equals(c) || a.equals(c)) { // 等腰三角形
System.out.println("这是一个等腰三角形。");
} else if (Math.pow(a, 2) + Math.pow(b, 2) == Math.pow(c, 2) || // 直角三角形
Math.pow(b, 2) + Math.pow(c, 2) == Math.pow(a, 2) ||
Math.pow(a, 2) + Math.pow(c, 2) == Math.pow(b, 2)) {
System.out.println("这是一个直角三角形。");
} else {
System.out.println("这是一个普通的三角形。");
}
}
}
```
在这个程序中,我们首先获取用户输入的三条边,如果输入合法则继续,否则提示用户重新输入。一旦有有效的边长,我们就调用`classifyTriangle`函数来判断三角形的类型。
阅读全文