采用面向对象方式求三角形面积
一. 采用面向过程的思路:
定义一个计算三角形面积的函数calcuateTriangleArea(double a, double b, double c),输入a、b、c,把输入的a、b、c作为参数传入calcuateTriangleArea()函数,得到计算结果。
代码示例如下所示:
package p02.t01;
import java.util.Scanner;
/**
功能
lcc
日期:2022年06月02日
*/
public class CalculateTrigngleArea {
public static void main(String[] args) {
double a, b, c, s;
Scanner sc = new Scanner(System.in);
System.out.print("a = ");
a = sc.nextDouble();
System.out.print("b = ");
b = sc.nextDouble();
System.out.print("c = ");
c = sc.nextDouble();
s = getTriangleArea(a, b, c);
if (s != -1) {
System.out.println("s = " + s);
} else {
System.out.println("提示:构不成三角形!");
}
}
private static double getTriangleArea(double a, double b, double c) {
double s, p;
// 判断能否构成三角形
if (a + b > c && b + c > a && c + a > b) {
p = (a + b + c) / 2;
s = Math.sqrt(p * (p - a) * (p - b) * (p - c)); // sqrt: square root
} else {
s = -1;
}
return s;
}
}
运行结果如下图所示:
二. 采用面向对象思路
1、创建Triangle类,包含a、b、c私有属性,提供无参与有参构造方法,提供getters和setters,重写toString()方法,提供getArea()方法;创建TestTriangle类,创建Triangle对象,设置对象属性a、b、c,调用对象方法,计算出三角形面积
2、创建net.huawei.p03.t01包,然后在包里创建Triangle类
3.定义三个缺省权限的双精度属性a、b、c,定义计算三角形面积的方法getArea(),返回值是双精度
代码如下所示:
package p02.t01;
/**
功能
lcc
日期:2022年06月02日
*/
public class Triangle {
double a, b, c;
/**
@return 三角形面积
*/
public double getArea() {
double s = 0, p;
// 判断a、b、c能否构成三角形
if (a + b > c && b + c > a && c + a > b) {
p = (a + b + c) / 2;
s = Math.sqrt(p * (p - a) * (p - b) * (p -c));
} else {
s = -1;
}
return s;
}
}