我正在尝试编写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);
}
}
}
答案 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)
添加到现有答案中:
首先应检查是否可以形成三角形,然后仅应检查其斜角,等腰或等边形。
您应签入的订单是:
为什么要下订单?
每个三角形都是一个斜角三角形。 每个等边也是等腰三角形和斜角三角形。
斜角三角形是等腰三角形和等边三角形的超集。 等腰三角形是等边三角形的超集。
因此您的函数应如下所示:
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");
}
}