【发布时间】:2014-01-29 09:44:56
【问题描述】:
我正在做过去的试卷
public static void triangleTest( int a, int b, int c)
{
if ( a > 0 & b > 0 & c > 0 )
{
if ( a==b || b==c );
{
System.out.println("Equilateral");
}
else if ( a==b || a==c || b!=c )
System.out.println("Scalene");
}
else if ( a+b>c && a+c>b || b+c>a );
{
System.out.println(Isoceles);
}
}
else
{
System.out.println("");
}
}
我已收到此代码并告诉我找出错误,当我检查答案时
if ( a > 0 & b > 0 & c > 0 )
这已被确定为错误,&& 是用来代替& 我运行了代码,它与& 一起工作得很好,所以我的问题是这背后的原因是什么?
【问题讨论】:
-
你是如何在代码中复制行号的?
-
if ( a==b || b==c );中有分号。"Equilateral"将始终被打印,无论 a、b 和 c 的值是什么。 -
另请注意
System.out.println(Isoceles);不会编译(使用您提供的代码)。 -
至少您可以在发布之前正确格式化问题:p 但是您可以参考答案。
标签: java operators logical-operators