文章目录
计算三角形面积
- 定义一个计算三角形面积的函数,输入a、b、c得到计算结果。
- 编写代码
package po03.t01;
import java.util.Scanner;
/**
* 功能:计算三角形面积
* 作者:张惠清
* 日期:2022年05月14日
*/
public class CalcauateTriangleArea {
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 形式参数(formal parameter),简称形参
* @param b 形式参数(formal parameter),简称形参
* @param c 形式参数(formal parameter),简称形参
* @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;
}
}
- 运行
采用面向对象计算三角形面积
-
创建Triangle类,包含a、b、c私有属性,提供无参与有参构造方法,提供getters和setters,重写toString()方法,提供getArea()方法;创建TestTriangle类,创建Triangle对象,设置对象属性a、b、c,调用对象方法,计算出三角形面积
-
-创建三角形类
-
编写代码
-
创建测试类
-
编写代码
package po03.t01;
import java.util.Scanner;
/**
* 功能:测试三角形类
* 作者:张惠清
* 日期:2022年04月21日
*/
public class TestTriangle {
public static void main(String[] args) {
double a, b, c, s;
Scanner sc = new Scanner(System.in);
// 利用无参构造方法创建三角形对象
Triangle triangle = new Triangle();
System.out.print("a = ");
a = sc.nextDouble();
System.out.print("b = ");
b = sc.nextDouble();
System.out.print("c = ");
c = sc.nextDouble();
try {
// 设置三角形对象属性
triangle.setA(a);
triangle.setB(b);
triangle.setC(c);
// 调用三角形对象方法
s = triangle.getArea();
// 打印三角形对象
System.out.println(triangle.toString());
// 判断是否构成三角形
if (s != -1) {
System.out.println("s = " + String.format("%.2f" , s));
} else {
System.out.println("提示:构不成三角形!");
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
- 运行