JAVA 检查三角形是不等边三角形、等腰三角形、等边三角形还是非三角形的程序

JAVA program that checks if a triangle is scalene, isosceles, equilateral, or not a triangle

我正在尝试编写 java 程序来查看三角形是不等边三角形、等腰三角形、等边三角形还是不是三角形。对于我使用的整数,它应该不是三角形 (1, 1, 30)。但我一直把斜角肌放在一起,而不是三角形。任何帮助表示赞赏!谢谢!

public class Tri {

    static void checkTriangle(int x, int y, int z) 
    { 

        // Check for equilateral triangle 
        if (x == y && y == z ) 
            System.out.println("Equilateral Triangle"); 

        // Check for isoceles triangle 
        else if (x == y || y == z || z == x ) 
            System.out.println("Isoceles Triangle"); 

        // Check for scalene triangle
        else if (x != y || y!= z || z != x)
            System.out.println("Scalene Triangle");
        {
            // Check for not a triangle 
            if (x + y < z || x + z < y || y + z > x) 
                System.out.println("Not a triangle");

        }
    } 

    public static void main(String[] args) {
        { 

            int x = 1, y = 1, z = 30; 

            checkTriangle(x, y, z); 
        } 
    } 
}

您应该首先检查是否存在三角形条件。如下:

static void checkTriangle(int x, int y, int z) 
{ 

    // Check for not a triangle 
    if (x + y < z || x + z < y || y + z > x) {
        System.out.println("Not a triangle");
    } else {

    // Check for equilateral triangle 
    if (x == y && y == z ) 
        System.out.println("Equilateral Triangle"); 

    // Check for isoceles triangle 
    else if (x == y || y == z || z == x ) 
        System.out.println("Isoceles Triangle"); 

    // Check for scalene triangle
    else if (x != y || y!= z || z != x)
        System.out.println("Scalene Triangle");
    }
} 

public static void main(String[] args) {
    { 

        int x = 1, y = 1, z = 30; 

        checkTriangle(x, y, z); 
    } 
} 
}

添加到现有答案:

先看能不能成三角形,再看是不是斜角、等腰、等边

您应该入住的顺序是:

  1. 检查是否可以形成三角形。
  2. 检查它是否等边。
  3. 检查它是否等腰。
  4. 你现在甚至不必检查,因为它必须是斜角肌。

为什么是这个顺序?

每个三角形都是不等边三角形。 每个等边也是等腰斜角三角形。

不等边三角形是等腰三角形和等边三角形的超集。 等腰三角形是等边三角形的超集。

因此您的函数将如下所示:

static void checkTriangle(int x, int y, int z) 
{ 

    //Checking for whether its a triangle first

    // Check for not a triangle 
    if (x + y < z || x + z < y || y + z > x) {
        System.out.println("Not a triangle");
    } else {

    // Check for equilateral triangle 
    if (x == y && y == z ) 
        System.out.println("Equilateral Triangle"); 

    // Check for isoceles triangle 
    else if (x == y || y == z || z == x ) 
        System.out.println("Isoceles Triangle"); 

    // Check for scalene triangle
    else if (x != y || y!= z || z != x)
        System.out.println("Scalene Triangle");
    }
}