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();
}
} 在最前面加个import java.lang.Math; 白砂糖 发表于 2021-4-7 21:45
在最前面加个import java.lang.Math;
建议自己安个软件比如eclipse,不会装尽管发帖,我这几天应该在线的,然后自己写上去运行,直接就能看出问题了呀
不过这次我帮你看了:如下(我是复制的你的代码)
下次自己运行看问题吧!{:10_256:} 本帖最后由 肖-肖 于 2021-4-7 22:09 编辑
肖-肖 发表于 2021-4-7 22:04
建议自己安个软件比如eclipse,不会装尽管发帖,我这几天应该在线的,然后自己写上去运行,直接就能看出问 ...
那个字又没显示出来!
这个是我试了下有名的勾股定理,哈哈~
这下证明结果是对滴了,哈哈{:10_256:} 这么秀吗?少了个括号?哈哈哈,我要笑死了!{:5_104:} 连帅帅 发表于 2021-4-8 17:39
这么秀吗?少了个括号?哈哈哈,我要笑死了!
这不是嘲笑呀{:5_97:} {:10_247:} 。。 学习了 {:10_277:} {:10_264:} 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]