下面的代码应该根据用户在终端中输入的角度来分析三角形的类型。但是,在第一个if语句中,虽然我将其设置为(a+b+c==d)
- 仍然在终端中,如果我输入180,1,1 - 而不是停止执行并打印Triangle is not possible.
,而是说三角形是等腰。这对我来说肯定是个错误。但我是一个菜鸟,所以请纠正我的陈述。
/**
* @date 20/4/2014
*/
import java.io.*;
public class Triangleanglederivation
{
public static void main (String args[])throws IOException
{
InputStreamReader read = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(read);
int a,b,c,d;
d=180;
System.out.println("Enter the three sides of the triangle:");
a=Integer.parseInt(in.readLine());
b=Integer.parseInt(in.readLine());
c=Integer.parseInt(in.readLine());
if(a+b+c==d)
System.out.println("Triangle is possible.");
if((a==b)&&(b==c)&&(c==a))
System.out.println("The triangle is equilateral.");
else if((a==b)||(b==c)||(c==a))
System.out.println("The triangle is isosceles.");
else if((a!=b)&&(b!=c)&&(c!=a))
System.out.println("The triangle is scalene.");
else
System.out.println("Triangle is not possible.");
}
}
if((a==b)&&(b==c)&&(c==a)&&(a+b+c==d))
System.out.println("The triangle is equilateral.");
else if(((a==b)||(b==c)||(c==a))&&(a+b+c==d))
System.out.println("The triangle is isosceles.");
else if((a!=b)&&(b!=c)&&(c!=a)&&(a+b+c==d))
System.out.println("The triangle is scalene.");
else
System.out.println("Triangle is not possible.");
答案 0 :(得分:0)
无论三角形是否可能,您都会应用检查等边,等腰和斜角三角形的三角形。您需要为使用(a+b+c==d)
的每个人添加可能性检查&&
,或者嵌套if / else,以便它们仅在if (a+b+c==d)
成功时发生。