如果距离小于15,我试图返回routeList
,如果该情况是,则不要在while语句之后运行代码。目前routelist
在if语句中被覆盖。我怎样才能达到?如果语句满足,打破它之后的代码和代码
我感谢所有帮助。
public ArrayList<Integer> detectRoute(double latD, double longD) {
ArrayList<Integer> routeList = new ArrayList<Integer>();
.
.
.
PreparedStatement preparedLatLongName = con
.prepareStatement("SELECT lat, longi, name from stops");
ResultSet rsLLN = preparedLatLongName.executeQuery();
// ArrayList<Double> distanceHistory = new ArrayList<Double>();
List<StopItem> distanceHistory = new ArrayList<>();
while (rsLLN.next()) {
double latStop = rsLLN.getDouble("lat");
double lonStop = rsLLN.getDouble("longi");
String nameStop = rsLLN.getString("name");
double distStop = haversineDistance(latD, longD, latStop,
lonStop);
StopItem newItem = new StopItem(nameStop, distStop);
distanceHistory.add(newItem);
// TODO add the speed here.
if (distStop <= 15) {
routeList = getByStop(con, calendar, WDay, rsLLN);
break;
}
}
//Find the shortest distance and its related longi and lati
Collections.sort(distanceHistory);
double shortestDistance = distanceHistory.get(0).getStopDist();
String nameShortestDistance = distanceHistory.get(0).getNameStop();
.
.
.
.
return routeList;
}
'return routeList'? – haifzhan
你能否清楚地解释你的问题。应该在if块中覆盖routerList。 – haifzhan
是的,它应该被覆盖。 –