项目一、采用面向过程方式求三角形面积
计算三角形面积
/**
- 功能:计算三角形面积
- 作者:许锐
- 日期:2022年4月28日
*/
public class Task01 {
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();
//调用三角形面积计算方法,传入实际参数a, b, c
s = getTriangleArea(a, b, c); //实际参数(actual parameter),简称实参
//根据返回值判断是否构成三角形
if (s != -1){
System.out.println("s = " + s);
} else {
System.out.println("提示:够不成三角形!");
}
}
/**
* 三角形面积计算方法
*
* @param a
* @param b
* @param c
* @return 三角形面积
*/
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;
}
}
运行结果如下:
项目二、采用面向对象方式求三角形面积
三角形类
/**
-
功能:三角形类
-
作者:许锐
-
日期:2022年4月28日
*/
public class Triangle {
// 缺省权限属性(可被同一个包里的对象访问)
double a, b, c;/**
- 面积计算方法
- @return 三角形面积
*/
public double getArea(){ //不需要参数,直接访问属性
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;
}
}