一只小菜鸡。。 2022-09-08 16:26 采纳率: 63.2%
浏览 69
已结题

有关三角形的java语言,应该怎么思考呢

采用控制台输入输出实现:输入三角形的三条边长度(整数),计算并输出该三角形的面积。

要可以不限次数的输入,直到输入0,则程序退出。
Java语言

  • 写回答

3条回答 默认 最新

  • foreverliuyin 2022-09-09 10:02
    关注
    public static void main(String[] args) {
            // TODO Auto-generated method stub
            boolean flag = true;
            Scanner sc = new Scanner(System.in);
            while (flag) {
                System.out.println("从键盘上输入3个整数并用空格隔开,单独输入0结束程序");
    
                String inputstr = sc.nextLine();
                String[] inputs = inputstr.split(" ");
                if(inputs.length != 3 && inputs.length != 1) {
                    System.out.println("输入错误,请重新输入");
                    continue;
                }
                int[] nums = new int[inputs.length];
                int sum = 0;
                for (int i = 0; i < inputs.length; i++) {
                    nums[i] = Integer.parseInt(inputs[i]);
                    sum+=nums[i];
                }
                if (inputs.length == 1 && nums[0] == 0) {
                    flag = false;
                    continue;
                }else if(inputs.length == 1 && nums[0]!= 0) {
                    System.out.println("输入错误,请重新输入");
                    continue;
                }else if(nums[0]+nums[1]<=nums[2]||nums[0]+nums[2]<=nums[1]||nums[1]+nums[2]<=nums[0]) { //两边之和必须大于第三边,否则三角形不存在
                    System.out.println("三角形不存在,请重新输入");
                    continue;
                }
    
                double p = sum / 2.0;
                double s = Math.sqrt(p * (p - nums[0]) * (p - nums[1]) * (p - nums[2]));
                System.out.println("三条边长分别为: " + nums[0] + "," + nums[1] + "," + nums[2]);
                System.out.printf("三角形面积约为: %.2f\n",s );
            }
            sc.close();
    
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月19日
  • 已采纳回答 9月11日
  • 创建了问题 9月8日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看