【Java】—— Java面向对象基础:Java中如何创建和使用三角形类(TriAngle)来计算面积

news2024/12/24 1:20:25

目录

第一步:定义TriAngle类

第二步:编写TriAngleTest测试类

运行程序

总结


        在Java编程中,面向对象的编程思想是一种非常强大的工具,它允许我们将现实世界中的实体(如三角形)抽象成程序中的类(Class)。今天,我们将通过一个简单的例子来展示如何创建一个名为TriAngle的类,该类用于表示三角形,并计算其面积。同时,我们将编写一个测试类TriAngleTest来演示如何使用这个类。

 

第一步:定义TriAngle类

        首先,我们需要定义一个TriAngle类,这个类将包含三角形的两个基本属性:底边长(base)和高(height)。这两个属性将被声明为私有(private),以确保类的封装性。然后,我们将为这两个属性提供公共的getter和setter方法,以便在类的外部能够安全地访问和修改这些属性。

此外,我们还需要一个构造器来初始化三角形的底边长和高,以及一个计算面积的方法findArea


  
public class TriAngle {  
    // 属性  
    private double base;    // 底边长  
    private double height;  // 高  
  
    // 构造器  
    public TriAngle() {  
        // 默认构造器,不初始化任何值  
    }  
  
    public TriAngle(double b, double h) {  
        base = b;  
        height = h;  
    }  
  
    // Getter和Setter方法  
    public double getBase() {  
        return base;  
    }  
  
    public void setBase(double b) {  
        base = b;  
    }  
  
    public double getHeight() {  
        return height;  
    }  
  
    public void setHeight(double h) {  
        height = h;  
    }  
  
    // 计算面积的方法  
    public double findArea() {  
        return base * height / 2;  
    }  
}

第二步:编写TriAngleTest测试类

        接下来,我们将编写一个TriAngleTest类来测试TriAngle类的功能。在这个类中,我们将创建TriAngle的两个实例,分别通过无参构造器和带参构造器进行初始化,并调用setBasesetHeight方法为它们设置底边长和高。然后,我们将使用findArea方法来计算并打印每个三角形的面积。


  
public class TriAngleTest {  
    public static void main(String[] args) {  
        // 创建TriAngle的实例1,并使用setter方法设置底边长和高  
        TriAngle t1 = new TriAngle();  
        t1.setBase(2.3);  
        t1.setHeight(3.7);  
        System.out.println("第一个三角形的面积为:" + t1.findArea());  
  
        // 创建TriAngle的实例2,使用带参构造器初始化底边长和高  
        TriAngle t2 = new TriAngle(2.6, 7.5);  
        System.out.println("第二个三角形的底边长:" + t2.getBase());  
        System.out.println("第二个三角形的高:" + t2.getHeight());  
        System.out.println("第二个三角形的面积为:" + t2.findArea());  
    }  
}

运行程序

        现在,我们可以运行TriAngleTest类来查看程序的输出。程序将首先计算并打印第一个三角形的面积,然后输出第二个三角形的底边长、高和面积。

总结

        通过上面的例子,我们学习了如何在Java中创建和使用一个表示三角形的类。我们定义了私有属性、构造器、getter和setter方法,以及一个用于计算面积的方法。然后,我们在测试类中创建了三角形的实例,并通过调用这些方法来演示了类的功能。这个例子展示了面向对象编程中的类定义、对象创建和方法调用的基本概念。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2083614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++关于字符串的练习

提示并输入一个字符串&#xff0c;统计该字符串中字母个数、数字个数、空格个数、其他字符的个数 #include <iostream> #include<string> using namespace std;int main() {string s1;int letter0,digit0,space0,other0;cout<<"请输入一个字符串:"…

redis学习笔记 ——redis中的四大特殊数据结构

一.前言 在之前的学习中&#xff0c;我们已经介绍了Redis中常见的五种基本的数据结构&#xff0c;而今天我们就要开始介绍Redis的四种特殊的数据结构&#xff0c;它们分别是bitmap(位图)&#xff0c; HyperLogLog(基数统计),Geospatial(地理信息),Stream。 二.位图(Bitmap) …

springboot+vue+mybatis计算机毕业设计电子产品交易系统+PPT+论文+讲解+售后

系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对电子产品交易管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”…

并发高负载场景下的负载均衡优化方案

并发高负载场景下&#xff0c;负载均衡优化技术 负载均衡是一种计算机技术&#xff0c;主要用于在多个计算机(如计算机集群)、网络连接、CPU、硬盘驱动器或其他资源中分配工作负载。 其主要目标是优化资源使用、最大化吞吐率、最小化响应时间&#xff0c;同时避免任何一个资源的…

跨境电商避坑指南:如何在亚马逊和速卖通安全进行测评补单

大家好&#xff0c;近期&#xff0c;不少从事跨境电商的朋友纷纷向我求助&#xff0c;他们在执行测评补单时频繁遭遇支付难题&#xff0c;如支付失败、支付成功后订单被取消&#xff0c;更有甚者&#xff0c;账号遭遇封禁。许多朋友误以为这仅仅是支付卡的问题&#xff0c;但实…

【生信分析常用软件】plink常用功能之翻转正负链(--flip)

官网:PLINK 1.9 plink --bfile plink --flip flip.txt --make-bed --out test 当不同数据合并时&#xff0c;如果一个数据使用正链&#xff0c;另外一个数据使用反链&#xff0c;就会导致合并数据出现问题&#xff0c;报错。 这种时候方案一&#xff1a;舍弃所有不能合并位点&…

【图像去噪】论文复现:代替ReLU!Pytorch实现即插即用激活函数模块xUnit,并插入到DnCNN中实现xDnCNN!

请先看【专栏介绍文章】&#xff1a;【图像去噪&#xff08;Image Denoising&#xff09;】关于【图像去噪】专栏的相关说明&#xff0c;包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总&#xff08;更新中…

keil添加芯片包

找到.pack将其移动到KEIL的文件路径下 双击Keil.STM32F1xx_DFP.2.4.1.pack&#xff0c;点击【Next>>】&#xff0c;开始安装芯片支持包 重新打开keil5&#xff0c;打开任意的工程&#xff0c;点击工具栏的魔术棒按钮 选择Device&#xff0c;可以看到STM32F1系列芯片已经被…

AUTOSAR_EXP_ARAComAPI的3.1章节笔记

3.1 Approach 为什么AUTOSAR发明了另一种通信中间件API/技术&#xff0c;而市场上有几十种——尤其是AutoSar AP的指导方针之一是重用现有的经过验证的技术&#xff1f;在提出新的中间件设计之前&#xff0c;我们确实评估了现有的技术&#xff0c;乍一看&#xff0c;这些技术似…

判别分析分类上接贝叶斯决策,下接最小距离分类

多元正态分布下的贝叶斯决策&#xff0c;称为判别分析分类。 先验概率相等时&#xff0c;等价于最小距离分类。 最小马氏距离分类 判别分析分类 贝叶斯后验概率

米家商城主题 html 页面源码分享,可用于网页设计作业

使用技术&#xff1a; HTML, CSS , Javascript 项目亮点&#xff1a; 1. 仿照米家商城页面布局所做的页面样式结构 2. 首页放置了可自动切换的轮播图 3. 登录页有表单结构&#xff0c;并且有切换的动画效果 4. 包含实时的动态时间&#xff0c;使用 js 实现 5. 页面布局清…

2024年8月28日(docker网络)

跨主机的容器网络连接 A>mysql B>java容器 将A -p3306:3306 端口映射就可以实现 一、docker网络 1、本地网络 bridge 所有容器连接到桥就可以使用外网,使用nat让容器可以访问外网,使用ip a s指令查看桥,所有容器连接到此桥,ip地址都是172.17.0.0/16网段,桥是启动…

机器学习 之 DBSCAN算法 及实现

1.K-means 与 DBSCAN 的比较 K-means 和 DBSCAN 都是聚类算法&#xff0c;但它们之间有显著的区别&#xff1a; K-means&#xff1a; 基于中心点的方法&#xff0c;要求用户提前指定簇的数量。适用于球形簇&#xff0c;且簇大小相近。无法处理噪声数据和任意形状的簇。 DBSCAN…

Mysql基础练习题 182.编写解决方案来报告所有重复的电子邮件 (力扣)

182.编写解决方案来报告所有重复的电子邮件。 请注意&#xff0c;可以保证电子邮件字段不为 NULL 建表插入数据&#xff1a; #建表插入数据 Create table If Not Exists Person (id int, email varchar(255)) Truncate table Person insert into Person (id, email) values (…

初识Vue.js:从零开始构建你的第一个Vue项目

初识Vue.js&#xff1a;从零开始构建你的第一个Vue项目 &#x1f680; 引言 简要介绍主题 在现代Web开发中&#xff0c;前端框架的选择至关重要。Vue.js作为一款渐进式JavaScript框架&#xff0c;以其简单易用、灵活高效的特性&#xff0c;迅速赢得了开发者的青睐。本篇文章将…

论文阅读与源码解析:CMX

论文阅读与源码解析&#xff1a;CMX: Cross-Modal Fusion for RGB-X Semantic Segmentation with Transformers 论文地址&#xff1a;https://arxiv.org/pdf/2203.04838 GitHub项目地址&#xff1a;https://github.com/huaaaliu/RGBX_Semantic_Segmentation 源码&#xff1a;h…

生产es所有节点全部掉线 排查

生产es所有节点全部掉线 查看message日志发现 内存溢出 修改jvm的改小 清理buff/cache sync && echo 1 > /proc/sys/vm/drop_caches sync && echo 2 > /proc/sys/vm/drop_caches sync && echo 3 > /proc/sys/vm/drop_caches 把es内存的…

GenAI 斜杠计划丨开启职业加速密码:图文设计专场参会体验

目录 前言 活动概览 活动开始&#xff1a;AI时代的召唤 主题分享一&#xff1a;《看到GenAI的力量&#xff1a;Amazon Bedrock功能操作》 1. 大模型的选择与理解 2. Amazon Bedrock的神奇魅力 主题分享二&#xff1a;《创意与技术的交汇&#xff1a;Zilliz向量数据库助力…

element的日期时间修改时间没有秒以及默认的时间时分修改

<el-form-item label"上架时间" required"required"><el-form:model"courseForm"ref"unmountFormRef"inlinestyle"text-align: left"label-position"left":rules"sjtimeRules"><el-form…

搜维尔科技:人形机器人的动作捕捉技术是实现机器人拟人化动作的关键技术之一

人形机器人的动作捕捉技术是实现机器人拟人化动作的关键技术之一&#xff0c;以下为您详细介绍几款动作捕捉系统&#xff1a; 1.光学式动作捕捉&#xff1a; • 原理&#xff1a;通过在人体关键部位&#xff08;如关节&#xff09;贴上反光标记点&#xff0c;利用多个高速摄像…