白砂糖 发表于 2021-4-7 21:27:51

Java关于三角形面积求解,可以帮我看看我的代码哪里有错吗?

本帖最后由 白砂糖 于 2021-4-7 21:29 编辑

2、编写一个三角形类,能根据三个实数构造三角形对象,如果三个实数不满足三角形的条件,则自动构造以最小值为边的等边三角形。输入任意三个数,输出构造的三角形面积。

import java.util.Scanner;
public class Striangle {
    public double firstEdge;
    public double secondEdge;
    public double thridEdge;

    public void striangleArea(){
      if(firstEdge+secondEdge>thridEdge&&firstEdge+thridEdge>secondEdge&&secondEdge+thridEdge>firstEdge){
            double p = (firstEdge+secondEdge+thridEdge)/2;
            double area = Math.sqrt(p*(p-firstEdge)*(p-secondEdge)*(p-thridEdge));
            System.out.println("输出三角形的面积:"+area);
      }else{
            double min;
            min = (firstEdge<secondEdge)?firstEdge:secondEdge;
            min = (min<thridEdge)?min:thridEdge;
            double area=min*min*Math.sqrt(3)/4;
            System.out.println("输出三角形的面积:"+area);

      }
      public static void main(String[] args){
            Scanner scan = new Scanner(System.in);
            Striangle tr = new Striangle();

            System.out.print("请输入三个数:");
            tr.firstEdge = scan.nextInt();
            tr.secondEdge = scan.nextInt();
            tr.thridEdge = scan.nextInt();
            tr.striangleArea();

      }
    }

白砂糖 发表于 2021-4-7 21:45:57

在最前面加个import java.lang.Math;

肖-肖 发表于 2021-4-7 22:04:27

白砂糖 发表于 2021-4-7 21:45
在最前面加个import java.lang.Math;

建议自己安个软件比如eclipse,不会装尽管发帖,我这几天应该在线的,然后自己写上去运行,直接就能看出问题了呀
不过这次我帮你看了:如下(我是复制的你的代码)

下次自己运行看问题吧!{:10_256:}

肖-肖 发表于 2021-4-7 22:08:32

本帖最后由 肖-肖 于 2021-4-7 22:09 编辑

肖-肖 发表于 2021-4-7 22:04
建议自己安个软件比如eclipse,不会装尽管发帖,我这几天应该在线的,然后自己写上去运行,直接就能看出问 ...


那个字又没显示出来!
这个是我试了下有名的勾股定理,哈哈~
这下证明结果是对滴了,哈哈{:10_256:}

连帅帅 发表于 2021-4-8 17:39:59

这么秀吗?少了个括号?哈哈哈,我要笑死了!{:5_104:}

连帅帅 发表于 2021-4-8 17:43:51

连帅帅 发表于 2021-4-8 17:39
这么秀吗?少了个括号?哈哈哈,我要笑死了!

这不是嘲笑呀{:5_97:}

noah-py 发表于 2021-4-8 19:14:06

{:10_247:}

青青笺 发表于 2021-4-8 19:35:02

。。

kerln888 发表于 2021-4-11 16:46:48

学习了

盛世呀 发表于 2021-4-24 21:47:10

{:10_277:}

1905900117 发表于 2021-5-3 16:28:12

{:10_264:}

Draem 发表于 2021-6-30 15:17:53

package little_car;

import java.util.Scanner;

public class Test2 {
    public double firstEdge;
    public double secondEdge;
    public double thridEdge;

    public void striangleArea() {
      if (firstEdge + secondEdge > thridEdge && firstEdge + thridEdge > secondEdge && secondEdge + thridEdge > firstEdge) {
            double p = (firstEdge + secondEdge + thridEdge) / 2;
            double area = Math.sqrt(p * (p - firstEdge) * (p - secondEdge) * (p - thridEdge));
            System.out.println("输出三角形的面积:" + area);
      } else {
            double min;
            min = (firstEdge < secondEdge) ? firstEdge : secondEdge;
            min = (min < thridEdge) ? min : thridEdge;
            double area = min * min * Math.sqrt(3) / 4;
            System.out.println("输出三角形的面积:" + area);

      }
    }

    public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      Test2 tr = new Test2();

      System.out.print("请输入三个数:");
      tr.firstEdge = scan.nextInt();
      tr.secondEdge = scan.nextInt();
      tr.thridEdge = scan.nextInt();
      tr.striangleArea();

    }
}
页: [1]
查看完整版本: Java关于三角形面积求解,可以帮我看看我的代码哪里有错吗?