如果距離小於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
是的,它應該被覆蓋。 –