JAVA程序,用于检查三角形是否为斜角,等腰,等边或三角形

时间:2020-10-30 03:24:42

标签: java logic

我正在尝试编写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); 
        } 
    } 
}

2 个答案:

答案 0 :(得分:1)

您应该首先检查非三角形情况。如下:

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 :(得分:0)

添加到现有答案中:

首先应检查是否可以形成三角形,然后仅应检查其斜角,等腰或等边形。

您应签入的订单是:

  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");
    }
} 
相关问题