【发布时间】:2014-11-26 13:42:00
【问题描述】:
已解决
这是我到目前为止所做的:
class triangle
{
public static void main (String[] args)
{
System.out.println("Provide three side lengths - 000 to terminate.");
int a = In.getInt();
int b = In.getInt();
int c = In.getInt();
String output1 ="";
String output2 ="";
while(a!=0 && b!=0 && c!=0)
{
int biggest = Math.max(a, Math.max(b,c));
int smallest = Math.min(a, Math.min(b,c));
int middle = 0;
if(a!=biggest && a!=smallest)
middle = a;
if(b!=biggest && b!=smallest)
middle = b;
if(c!=biggest && c!=smallest)
middle = c;
if(a==b && a==c && b==c)
{
output1 = "equilateral";
}
if((a==b && a!=c) || (a==c && a!=b) || (b==c && b!=a))
{
output1 = "isosceles";
}
if(a!=b && a!=c && b!=c)
{
output1 = "scalene";
}
int angle = (middle*middle) + (smallest*smallest);
int angle2 = (biggest*biggest);
if(angle == angle2)
{
output2="right";
}
if(angle > angle2)
{
output2="acute";
}
if(angle < angle2)
{
output2="obtuse";
}
System.out.println(output1 + " and " + output2);
a = In.getInt();
b = In.getInt();
c = In.getInt();
if(a==0 && b==0 && c==0)
{
System.out.println("Thanks for using the program");
break;
}
}
}
}
我的问题是,当我输入 5,2,5 时,它应该是等腰和锐角,但它输出为等腰和钝角,而当我输入 5,5,5 时,它会出现等边和正确。唯一有效的是,如果我输入 3,5,4,它会以不等比例出现并且是正确的。我已经有一段时间了,我的数学看起来是正确的。有人可以帮忙吗?
【问题讨论】:
标签: java while-loop