☜贼鸡儿菜! 2020-03-16 13:30 采纳率: 100%
浏览 575
已采纳

java萌新求助(三角形形状判断问题有个测试点死活过不了)

输入格式:
在一行中输入三角形的三条边的值(实型数),可以用一个或多个空格或回车分隔,其中三条边的取值范围均为[1,200]。

输出格式:
(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");
}

}
跪求大佬们指出小弟的问题所在

  • 写回答

5条回答 默认 最新

  • console.log( ) 2020-03-16 13:47
    关注

    我建议你先把三条边从小到大排序,这样代码简洁点
    假如 abc 从小到大
    一般三角形 a+b>c 这是大前提条件
    等边三角形 a==b==c
    等腰直角三角形a==b a*a+b*b==c*c
    等腰三角形 a==b
    直角三角形 a*a+b*b==c*c

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。