1. 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);
    }
}
  1. 流程图和控制流图:

流程图:

流程图

控制流图:

控制流图

  1. 有效等价类:三个正整数,能组成三角形的三条边长;无效等价类:三个正整数,不能组成三角形的三条边长。

测试用例:

有效等价类测试用例:

  • 输入: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.
Java 三角形分类程序:代码、流程图和测试用例

原文地址: https://www.cveoy.top/t/topic/noyC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录