首页 > 解决方案 > 如何减去或添加两个坐标

问题描述

我正在尝试减去和添加两个城市的两个坐标。我想用 void 方法做到这一点。你有什么建议,我该怎么做?

例如:

我想减去 with 的坐标,city1 (x1, y1)然后city2(x2, y2)在主类中调用它。那么该怎么做呢?

我在下面写了这段代码,但它不起作用或者我不知道如何调用它......

主类:

public class Main {

public static void main(String[] args) {
    
        Coordinates paris = new Coordinates(48.830103, 2.562957);
        Coordinates rioDeJaneiro = new Coordinates(-22.492147, -43.143827);

坐标类:

 public class Coordinates {

    private double latitude;
    private double longitude;

    public Coordinates(double latitude, double longitude) {
        this.latitude = latitude;
        this.longitude = longitude;
    }

    public double getLatitude() {
        return this.latitude;
    }

    public double getLongitude() {
        return this.longitude;
    }

     public void subtract(Coordinates otherCoordinates) {
           new Coordinates(this.latitude - otherCoordinates.getLatitude(),
                            this.longitude - otherCoordinates.getLongitude());
     }

标签: javamethodscoordinatesvoid

解决方案


您的代码将无法按预期工作。您的减法方法应该如下所示

public void subtract(Coordinates otherCoordinates) {
                this.latitude = this.latitude- otherCoordinates.getLatitude();
                this.longitude = this.longitude- otherCoordinates.getLongitude();
 }

如果纬度和经度是不可变的,那么

public Coordinates subtract(Coordinates otherCoordinates) {
           return  new Coordinates(this.latitude - otherCoordinates.getLatitude(), 
                                    this.longitude - otherCoordinates.getLongitude());
  }

推荐阅读