java萌新求助(三角形形状判断问题有个测试点死活过不了)
输入格式:在一行中输入三角形的三条边的值(实型数),可以用一个或多个空格或回车分隔,其中三条边的取值范围均为。
输出格式:
(1)如果输入数据非法,则输出“Wrong Format”; (2)如果输入数据合法,但三条边不能构成三角形,则输出“Not a triangle”; (3)如果输入数据合法且能够成等边三角形,则输出“Equilateral triangle”; (3)如果输入数据合法且能够成等腰直角三角形,则输出“Isosceles right-angled triangle”; (5)如果输入数据合法且能够成等腰三角形,则输出“Isosceles triangle”; (6)如果输入数据合法且能够成直角三角形,则输出“Right-angled triangle”; (7)如果输入数据合法且能够成一般三角形,则输出“General triangle”。
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
float a=sc.nextFloat(),b=sc.nextFloat(),c=sc.nextFloat();
if(a>=1&&a<=200&&b>=1&&b<=200&&c>=1&&c<=200)
{
if(a+b>c&&a+c>b&&c+b>a)
{
if(a==b&&b==c)
System.out.println("Equilateral triangle");
else if((a==c||b==c||a==b)&&(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a))
System.out.println("Isosceles right-angled triangle");
else if(a==c||b==c||a==b)
System.out.println("Isosceles triangle");
else if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
System.out.println("Right-angled triangle");
else
System.out.println("General triangle");
}
else
System.out.println("Not a triangle");
}
else
System.out.println("Wrong Format");
}
}跪求大佬们指出小弟的问题所在
没看出来哪个测试点过不了 给个测试不过的数据 参考看下呢https://ask.csdn.net/questions/1058865 是不是等腰三角形的原因吗? 这判断写的太绕了 导入数据测试
页:
[1]