当前位置: 首页 > 知识库问答 >
问题:

java帮助两点之间的距离java POO[闭合]

冉德元
2023-03-14

问题A和问题B应该在同一代码中。

问题A:

实现接受两个参数整数值的Ponto类构造函数​​价值观​​分别是属性x和y。

实现另一个构造函数,构造函数将类属性(x和y)初始化为零。请注意,这里我们使用静态多态。*

问题B

实现一种检查两点是否相等的方法,即检查两点是否具有相同的值​​对于x和y,其中一个点将在方法调用中隐式传递,另一个传统方法将作为参数传递。然后实现计算两点之间距离的方法,对于该方法,调用该方法的对象被视为一个参数(隐式),另一个点对象通过参数传递给该方法(显式)*

我无法理解如何将仅有的两个变量关联起来,生成类似“x(10,10)和y(1,4)”的东西,然后计算它的距离,检查它们是否具有相同的值,最后是构造函数。

教师洞察代码

public class Ponto {
 private int x,y;

//Constructers

//methods
}

这就是我制作的

package pontos;

public class Ponto {
    private int x,y;

    
    //CONSTRUTOR  
    public  Ponto() {
     x = 0;
     y = 0;
            
    }
    

    //CONSTRUTOR COM PARÂMETRO 
    Ponto(int x_, int y_){
        this.x = x_;
        this.y = y_;
        
        if (x == y) {
            System.out.println("Seus pontos são iguais!");
        }else{
            System.out.println("Agora você tem distância haha");
        }
            
                
    }


    
    //MÉTODOS
        
    
    
    //GETTER SETTER
    public int getX() {
        return x;
    }


    public void setX(int x) {
        this.x = x;
    }


    public int getY() {
        return y;
    }


    public void setY(int y) {
        this.y = y;
    }

物体

package pontos;

public class Calc {

    public static void main(String[] args) {
        
        double dist;
        
        Ponto xy = new Ponto(10,1);
        Ponto xy2 = new Ponto(5,10);
        
        dist = Math.sqrt(Math.pow(xy2.getX()-xy.getX() , 2) + Math.pow(xy2.getY() -xy.getY() ,2));
        
        System.out.println("** Resultado da distância do ponto X e Y **");
        System.out.println("eeee: " + dist );
        System.out.println("Olha só: " + xy );

    }

}

共有1个答案

陈修诚
2023-03-14

我不确定你在哪里被卡住了。要求您实现Ponto类的两个方法(这就是第一个点的隐式传递的意思)。

尝试以下方法:

public class Ponto {

    ...

    public boolean equalsTo(Point other) {
        return this.x == other.x && this.y == other.y;
    }

    public double distanceTo(Point other) {
        return Math.sqrt(
            Math.pow(this.x - other.x , 2)
          + Math.pow(this.y - other.y , 2)
        );
    }

    ...

}

使用这个关键字,以及Ponto类中方法的定义,是指使用其中一个点作为隐式,使用另一个点作为方法的参数作为显式。

然后你可以在程序的其他部分调用这个方法

public class Calc {

    public static void main(String[] args) {
        
        double dist;
        boolean equal;
        
        Ponto xy = new Ponto(10,1);
        Ponto xy2 = new Ponto(5,10);
        
        dist = xy.distanceTo(xy2);
        equal = xy.equalsTo(xy2);
        
        System.out.println("** Resultado da distância do ponto X e Y **");
        System.out.println("eeee: " + dist );
        System.out.println("Olha só: " + xy );
        System.out.println("They are the same point: " + equal);

    }

}
 类似资料:
  • 问题内容: 我需要创建一个类来计算两点之间的距离。我被困住了,我是一个完全的初学者。这是我的课程: 第二课。 我不确定如何在两个定义的点之间获取点对象(中间点)。 我可以创建点对象,但不确定如何通过位于这两个点对象之间的方法返回点对象。 问题答案: 平面上的两个点(x1,y1)和(x2,y2)之间的距离为: 但是,如果您想要的只是两个点的中点,则应将中点函数更改为: 这将返回一个全新的点对象,其点

  • 返回两点之间的欧氏距离。 使用 Math.hypot() 计算两点之间的欧氏距离( Euclidean distance)。 const distance = (x0, y0, x1, y1) => Math.hypot(x1 - x0, y1 - y0); distance(1, 1, 2, 3); // 2.23606797749979

  • 问题内容: 假设我有x1,y1,还有x2,y2。 我如何找到它们之间的距离?这是一个简单的数学函数,但是此在线代码段吗? 问题答案: dist = sqrt( (x2 - x1)2 + (y2 - y1)2 ) 正如其他人指出的那样,您也可以使用等效的内置函数:

  • 问题内容: 这是我的尝试,这只是我的代码的一部分: 我正在使用以下公式来获取经度和纬度: 问题答案: 上面Dommer给出的Java代码给出的结果略有不正确,但是如果你正在处理GPS轨迹,则小错误加起来。这是Java中Haversine方法的实现,该方法还考虑了两点之间的高度差。

  • 我试图使用Scala类计算两点之间的距离。但它给出了一个错误说 类型不匹配;发现:其他。需要类型(具有基础类型点):?{def x:?}请注意,隐式转换不适用,因为它们是不明确的:在[A](x:A)类型的对象Predef中确保[A]的方法any2Ensuring和在[A](x:A)“ArroAssoc[A]类型的对象Predef中的方法Ani2ArrowasSoc都是可能的其他转换函数。输入到?{

  • 问题内容: 我正在使用Python + Numpy(也可以使用Scipy)并具有三个2D点 我试图获得从P3垂直到P1和P2之间绘制的直线的距离。设,和 用矢量符号表示这很容易,但是我对python / numpy还是相当陌生,无法获得任何有效的方法(甚至是关闭方法)。 任何提示表示赞赏,谢谢! 问题答案: 尝试使用以下 规范 函数