问题描述:
输入三角形的三边长,计算三角形的面积。 算法思路: (1)利用Scanner类,接收从键盘输入的三个整数,分别作为三条边; (2)先判断这三条边是否能构成三角形; (3)利用if语句进行判断,若能组成三角形,则执行(4),否则执行(5); (4)根据三角形面积公式进行计算,并输出结果; (5)输出“请重新输入数据,当前数据有误”。
import java.util.Scanner;//导包
public class Example {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);//创建Scanner对象
System.out.println("请输入第一条边:");
double a = scan.nextDouble();//接受的值为double类型。
System.out.println("请输入第二条边:");
double b = scan.nextDouble();
System.out.println("请输入第三条边:");
double c = scan.nextDouble();
if(a > 0 && b > 0 && c > 0){//首先判断接受的值是否为正数
if(a+b>c&&b+c>a&&a+c>b){//三角形的构成条件:两边之和大于第三边
double s=(a+b+c)/2;
double area=Math.sqrt(s*(s-a)*(s-b)*(s-c)); //这里采用的方法是海伦公式
System.out.print("三角形的面积为:"+area);
} else {
System.out.print("请重新输入数据,当前数据有误");
}
}
else{
System.out.println("请重新输入数据,当前数据有误");
}
scan.close();
}
}
已知三角形的三边,计算三角形面积,需要用到海伦公式:
公式描述:p为三角形的半周长,a,b,c为三角形的三边
运行结果: