m0_69140195 2022-04-10 19:31 采纳率: 100%
浏览 93
已结题

Java判断两个三角形是否

Object类是一切类的基类,查阅object类文档,完成对三角形全等的判断(复写object类中的equals()方法),并在主函数中实现两种三角形是否全等的比较。

  • 写回答

1条回答 默认 最新

  • 溪风沐雪 2022-04-11 13:00
    关注

    实现思路是通过分别判断两个三角形的最长边、最短边以及边长平均值是否相等来判定两个三角形是否全等。

    
    package com.example.impl;
    
    public class Triangle {
        private double edge1;
        private double edge2;
        private double edge3;
    
        public Triangle(double edge1, double edge2, double edge3){
            this.edge1 = edge1;
            this.edge2 = edge2;
            this.edge3 = edge3;
        }
    
        public boolean equals(Triangle triangle){
            return this.getMinEdge()==triangle.getMinEdge() && this.getMaxEdge()==triangle.getMaxEdge() && this.getAverageEdge()==triangle.getAverageEdge();
        }
    
        public double getMinEdge(){
            double minEdge = this.edge1;
            if(this.edge2<minEdge){
                minEdge = this.edge2;
                if(this.edge3<minEdge){
                    minEdge = this.edge3;
                }
            }else if(this.edge3<minEdge){
                minEdge = this.edge3;
            }
            return minEdge;
        }
    
        public double getMaxEdge(){
            double maxEdge = this.edge1;
            if(this.edge2>maxEdge){
                maxEdge = this.edge2;
                if(this.edge3>maxEdge){
                    maxEdge = this.edge3;
                }
            }else if(this.edge3>maxEdge){
                maxEdge = this.edge3;
            }
            return maxEdge;
        }
    
        public double getAverageEdge(){
            return (this.edge1+this.edge2+this.edge3)/2;
        }
    
        public double getEdge1() {
            return edge1;
        }
        public void setEdge1(double edge1) {
            this.edge1 = edge1;
        }
        public double getEdge2() {
            return edge2;
        }
        public void setEdge2(double edge2) {
            this.edge2 = edge2;
        }
        public double getEdge3() {
            return edge3;
        }
        public void setEdge3(double edge3) {
            this.edge3 = edge3;
        }
    
        public static void main(String[] args){
            Triangle triangle1 = new Triangle(3.0,4.0,5.0);
            Triangle triangle2 = new Triangle(4.0,5.0,3.0);
            Triangle triangle3 = new Triangle(4.0,4.0,4.0);
            System.out.println(triangle1.equals(triangle2));
            System.out.println(triangle1.equals(triangle3));
            System.out.println(triangle2.equals(triangle3));
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月21日
  • 已采纳回答 4月13日
  • 创建了问题 4月10日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效