如何在Java中的for循环内将变量值存储到数组中

时间:2018-11-22 07:50:42

标签: java arrays

我需要计算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;

    }

`

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

1 个答案:

答案 0 :(得分:0)

下面的代码将为每次迭代分配一个值,基本上我要说的是,由于您有纬度和经度,因此您可以在每次迭代内进行计算以获取距离,而不是使用通用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
        }