Java 三角形分类程序:代码、流程图和测试用例
- Java 代码:
import java.util.Scanner;
public class TriangleClassification {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter the lengths of three sides of a triangle: ");
double side1 = input.nextDouble();
double side2 = input.nextDouble();
double side3 = input.nextDouble();
if (isValidTriangle(side1, side2, side3)) {
if (isEquilateralTriangle(side1, side2, side3)) {
System.out.println("The triangle is equilateral.");
} else if (isIsoscelesTriangle(side1, side2, side3)) {
System.out.println("The triangle is isosceles.");
} else {
System.out.println("The triangle is scalene.");
}
} else {
System.out.println("The input is invalid. The lengths do not form a triangle.");
}
}
public static boolean isValidTriangle(double side1, double side2, double side3) {
return (side1 + side2 > side3) && (side1 + side3 > side2) && (side2 + side3 > side1);
}
public static boolean isEquilateralTriangle(double side1, double side2, double side3) {
return (side1 == side2) && (side1 == side3);
}
public static boolean isIsoscelesTriangle(double side1, double side2, double side3) {
return (side1 == side2) || (side1 == side3) || (side2 == side3);
}
}
- 流程图和控制流图:
流程图:

控制流图:

- 有效等价类:三个正整数,能组成三角形的三条边长;无效等价类:三个正整数,不能组成三角形的三条边长。
测试用例:
有效等价类测试用例:
- 输入:3 4 5,预期输出:The triangle is scalene.
- 输入:5 5 5,预期输出:The triangle is equilateral.
- 输入:6 6 7,预期输出:The triangle is isosceles.
无效等价类测试用例:
- 输入:1 2 3,预期输出:The input is invalid. The lengths do not form a triangle.
- 输入:2 2 4,预期输出:The input is invalid. The lengths do not form a triangle.
- 输入:0 0 0,预期输出:The input is invalid. The lengths do not form a triangle.
原文地址: https://www.cveoy.top/t/topic/noyC 著作权归作者所有。请勿转载和采集!