Oxevry 2022-11-14 14:03 采纳率: 66.7%
浏览 158
已结题

java判断三角形类型并计算三角形面积

Java判断三角形类型并计算面积
import java.util.Scanner;

public class HomeWork2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入三条边的数据并以空格分开");
        //定义三角形三个边并通过输入获取数据
        int a = input.nextInt();
        int b = input.nextInt();
        int c = input.nextInt();
        if (a != 0 && b != 0 && c != 0 && (a + b) > c) {
            System.out.println("三角形成立");
            //定义面积area
            int p = (a + b + c) / 2;
            int temp = p * (p - a) * (p - b) * (p - c);
            double area = Math.sqrt(temp);
//*******************************************************************************************
            if (a * a + b * b > c * c) {
                System.out.println("此三角形为锐角三角形,面积为:" + area);
            } else if (a * a + b * b < c * c) {
                System.out.println("此三角形为钝角三角形,面积为:" + area);
            } else if (a * a + b * b == c * c) {
                System.out.println("此三角形为直角三角形,面积为:" + area);
            }
        } else {
            System.out.println("你输入的三条边无法构成三角形");
        }
    }
}

为啥三角形三边为4 6 9时面积输出为0.0

img

  • 写回答

4条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-11-14 14:08
    关注

    值为0 上边 int p = (a + b + c) / 2; 19/2=9 ,要么就都换成double

    img

     public static void main(String[] args)  {
            Scanner input = new Scanner(System.in);
            System.out.println("请输入三条边的数据并以空格分开");
            //定义三角形三个边并通过输入获取数据
            int a = input.nextInt();
            int b = input.nextInt();
            int c = input.nextInt();
            if (a != 0 && b != 0 && c != 0 && (a + b) > c) {
                System.out.println("三角形成立");
                //定义面积area
                double p = (a + b + c) / 2.0;
                double temp = p * (p - a) * (p - b) * (p - c);
                double area = Math.sqrt(temp);
    //*******************************************************************************************
                if (a * a + b * b > c * c) {
                    System.out.println("此三角形为锐角三角形,面积为:" + area);
                } else if (a * a + b * b < c * c) {
                    System.out.println("此三角形为钝角三角形,面积为:" + area);
                } else if (a * a + b * b == c * c) {
                    System.out.println("此三角形为直角三角形,面积为:" + area);
                }
            } else {
                System.out.println("你输入的三条边无法构成三角形");
            }
        }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 已采纳回答 11月14日
  • 修改了问题 11月14日
  • 创建了问题 11月14日

悬赏问题

  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装
  • ¥40 复杂的限制性的商函数处理