【发布时间】:2015-10-25 22:30:11
【问题描述】:
如果两个较小边的总和不大于较大的边,三角形方法(在底部)应该返回字符串"Invalid"。我创建了一个布尔方法 (isValid) 来测试它,但不确定如何在三角形方法中测试它。如您所见,我将三角形方法中的第一个if 语句留空,因为我不知道要编写什么代码来实现这一点。感谢您的任何意见。
public static void main(String[] args)
{
String inputOne;
String inputTwo;
String inputThree;
double smallSide;
double medSide;
double largeSide;
double sidea = 0;
double sideb = 0;
double sidec = 0;
double a;
double b;
double c;
inputOne = JOptionPane.showInputDialog(null, "Enter first side: ");
smallSide = Integer.parseInt(inputOne);
inputTwo = JOptionPane.showInputDialog(null, "Enter second side: ");
medSide = Integer.parseInt(inputTwo);
inputThree = JOptionPane.showInputDialog(null, "Enter third side: ");
largeSide = Integer.parseInt(inputThree);
if (smallSide <= medSide && medSide <= largeSide)
{
sidea = smallSide;
sideb = medSide;
sidec = largeSide;
} else if (medSide <= smallSide && smallSide <= largeSide)
{
sidea = medSide;
sideb = smallSide;
sidec = largeSide;
} else if (smallSide <= largeSide && largeSide <= medSide)
{
sidea = smallSide;
sideb = largeSide;
sidec = medSide;
} else if (medSide <= largeSide && largeSide <= smallSide)
{
sidea = medSide;
sideb = largeSide;
sidec = smallSide;
} else if (largeSide <= smallSide && smallSide <= medSide)
{
sidea = largeSide;
sideb = smallSide;
sidec = medSide;
} else if (largeSide <= medSide && medSide <= smallSide)
{
sidea = largeSide;
sideb = medSide;
sidec = smallSide;
}
a = sidec;
b = sideb;
c = sidea;
JOptionPane.showMessageDialog(null, triangle(a, b, c));
if (isValid(sidea, sideb, sidec))
{
JOptionPane.showMessageDialog(null, area(sidea, sideb, sidec));
}
}
public static boolean isValid(double sidea, double sideb, double sidec)
{
double sum;
sum = sidea + sideb;
if (sum <= sidec)
{
return false;
}
else;
return true;
}
public static double area(double sidea, double sideb, double sidec)
{
double s;
double next;
double answer;
s = (sidea + sideb + sidec) / 2;
next = (s * sidea) * (s * sideb) * (s * sidec);
answer = s * next;
return Math.sqrt(answer);
}
public static String triangle(double a, double b, double c)
{
if ()
return "Invalid Triangle";
else if (a == c)
return "Equilateral";
else if (a == b || b == c)
return "Isosceles";
else
return "Scalene";
}
【问题讨论】: