检查两个依赖数组中是否存在两个数字 - Java

时间:2015-03-12 17:14:56

标签: java arrays double

我有两个名为lat2 []和lon2 []的double值数组。我在那里存储了特定的lattitude和longtitude值。我可以将这些值作为简单的双值。我的问题是我怎样才能找到阵列中是否存在这两个双打(以检查单击哪个标记)。这是我到目前为止所做的,但似乎没有效果:

@Override
public boolean onMarkerClick(Marker marker) {
    markerLatLng = marker.getPosition();
    markerLat = markerLatLng.latitude;
    markerLng = markerLatLng.longitude;
    for (int i = 0; i < lat2.length; i++) {
        if (markerLat == lon2[i]) {
            for (int j = 0; j < lon2.length; j++) {
                if (markerLng == lon2[j]) {
                    String title = marker.getTitle();
                    Log.e("TAG", " " + title);
                }
            }
        }
    }
    return true;
}

2 个答案:

答案 0 :(得分:0)

如果我理解你的数据结构,你的for循环可能存在问题。

如果将纬度和经度存储在两个数组中,我想像位置n中的一个点由经度[n]和纬度[n]定义。

如果您在此处存储积分的方式是您需要更新代码的方式:

@Override
public boolean onMarkerClick(Marker marker) {
    int markerLat = marker.getPosition().latitude;
    int markerLng = marker.getPosition().longitude;
    for (int i = 0; i < lat2.length; i++) {
        if (markerLat == lat2[i] && markerLng == lon2[j]) {
            String title = marker.getTitle();
            Log.e("TAG", " " + title);               
        }
    }
    return true;
}

请不要使用全局变量。我编辑了你的代码来定义方法的本地标记markerLat和markerLng(我不知道int是否是正确的类型)。

答案 1 :(得分:0)

从lat2,log2数组创建一个列表,例如ArrayList,并检查数字是否包含:

List lat = new ArrayList(lat2);
List lon = new ArrayList(lon2);

if (lat.contains(markerLat) && lon.contains(markerLng)){
            String title = marker.getTitle();
            Log.e("TAG", " " + title);   
}