首页 > 解决方案 > 如何将变量值存储到java中for循环内的数组中

问题描述

我需要计算 2 个(点)纬度和经度之间的距离,一个点在数组中,另一个作为参数发送。计算出的距离应该存储在另一个数组中,以便我可以计算数组中的最小距离。问题是无法将计算出的距离存储到数组中,所以请帮助我。

 @Override
    public MinimumDistanceModel getMinimumDistance(double latitude, double longitude) throws Exception {
        try {

            double lon1 = longitude;
            double lat1 = latitude;
            List<MinimumDistanceDomain> minDistDomain = minimumDistanceDAO.getFranchiseDetails();
            for(MinimumDistanceDomain minimumDistanceDomain : minDistDomain) {
                double  lat2 = minimumDistanceDomain.getLatitude();
                double lon2 = minimumDistanceDomain.getLongitude();

                MinimumDistanceModel minimumDistanceModel = new MinimumDistanceModel();
                minimumDistanceModel.setDistance1(CommonUtils.distance(lat1, lat2, lon1, lon2));

                System.out.println(minimumDistanceModel.getDistance1());

                Double distance = minimumDistanceModel.getDistance1();

            }


        } catch (Exception e) {
            logger.info("Exception getMinimumDistance in DistanceServiceImpl" + e.getMessage());
        }

        return null;

    }

`

上面代码的结果:它只是打印这两个点之间的距离,我如何在数组中返回这些距离

标签: javaarrays

解决方案


下面的代码将为每次迭代分配一个值,基本上我的意思是因为你有 lat 和 long 你可以在每次迭代中进行计算来获得距离而不是使用 common utils 。这里的关键线是这个testArray[i]=i;

 var lat ; 
    var long; 
    var distance; 
    int[] testDistanceArray = new int[50];

        for (int i = 0; i < testDistanceArray.length; i++) {  
            testDistanceArray[i]= lat -long ;
            distance = testDistanceArray[i]
            // that will give you the distance for each iteration
        }

推荐阅读