计算三角形面积

该博客介绍了如何使用面向对象编程来计算三角形面积。首先,通过定义一个静态函数计算三角形面积,然后创建一个Triangle类,包含a、b、c属性,并提供了getter和setter方法,以及计算面积的getArea方法。在TestTriangle类中,创建Triangle对象并设置其属性,调用对象的getArea方法计算面积。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算三角形面积

  • 定义一个计算三角形面积的函数,输入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());
        }
    }
}

  • 运行
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值