我正在尝试编写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);
}
}
}
添加到现有答案:
你应该先检查一个三角形是否可以形成,然后才应该检查它的斜角线、等角线或等边线。
您应该办理的订单是:
- 检查是否可以形成三角形
- 检查其是否为等边
- 检查其等容线
- 你现在甚至不必检查,因为它必须是斜角的
为什么要订购?
每个三角形都是不等边三角形。每个等边三角形也是等角三角形和不等边三角形。
角尺三角形是等角三角形和等边三角形的超集。等腰三角形是等边三角形的超集。
所以你的函数应该是这样的:
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");
}
}