2022-4-23 java面向对象

本文详细介绍了如何使用面向对象编程思想设计Xriangle类,通过实例化并设置属性计算三角形面积,同时讲解了三边关系定理和海伦公式的应用。通过TestXriangle类展示了整个流程,并附带了关键代码和知识点解析。

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

任务1、采用面向对象思维求三角形面积

  • 采用面向过程的思路:定义一个计算三角形面积的函数calcuate riangleArea(double a, double b, double c)
  • 创建Triangle类,包含a、b、c私有属性,提供无参与有参构造方法,提供getters和setters,重写toString()方法,提供getArea()方法
  • 创建TestXriangle类,实例化Xriangle对象,设置对象属性a、b、c,调用对象方法,计算出三角形面积。

一、编成实现

  • 创建TestXriangle类,实例化Xriangle对象,设置对象属性a、b、c,调用对象方法,计算出三角形面积
  • 三边关系定理:(1)任意两边之和大于第三边
    (2)如果能构成三角形,利用海伦公式来计算
  • 三边a,b,c半周长p = (a+b+c)/ 2

1、编写代码

在这里插入图片描述

package next.X;

import com.sun.tools.javac.Main;

import java.util.Scanner;

/**
 * 功能:三角形类
 * 作者:向兴桥
 * 日期:2022-4-21
 */
public class Xriangle {
    //缺省权限属性
    private double a,b,c;

    public Xriangle() {
        System.out.println("无参构造方法被调用了");
    }
    // 构造方法
    public Xriangle(double a,double b,double c){
        this.a= a;
        this.b= b;
        this.c= c;
        System.out.println("有参构造方法被调用了");
    }

    public double getA() {
        return a;
    }

    public void setA(double a){
        if(a > 0){
            this.a = a;
        }else {
            System.out.println("边长不能为负数!");
        }
    }

    public double getB() {
        return b;
    }

    public void setB(double b) {
        this.b = b;
    }

    public double getC() {
        return c;
    }

    public void setC(double c) {
        this.c = c;
    }

    @Override
    public String toString() {
        return "Xriangle{" +
                "a=" + a +
                ", b=" + b +
                ", c=" + c +
                '}';
    }

    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;
    }
}

在这里插入图片描述

package next.X;

import java.text.Format;
import java.util.Scanner;

/**
 * 功能:测试三角形类
 * 作者:向兴桥
 * 日期:2022-4-21
 */
public class Testxriangle {
    public static void main(String[] args) {
        double a,b,c,s;
        Scanner sc = new Scanner(System.in);
        //利用无参构造方法创建三角形对象
        Xriangle xriangle = new Xriangle();

        System.out.print("a = ");
        a = sc.nextDouble();
        System.out.print("b = ");
        b = sc.nextDouble();
        System.out.print("c = ");
        c = sc.nextDouble();

        // 设置三角形对象属性
        xriangle.setA(a);
        xriangle.setB(b);
        xriangle.setC(c);

        // 调用三角形对象方法
        s = xriangle.getArea();

        //打印三角形对象
        System.out.println(xriangle);

        // 判断是否构成三角形
        if(s != -1){
            System.out.println(String.format("s = "+"%.2f",s));
        }else {
            System.out.println("提示:构不成三角形!");
        }
    }
}

2、运行程序,查看结果

在这里插入图片描述
在这里插入图片描述

二、知识点讲解

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值