Я изучаю рекурсию как часть учебника по Java и ищу небольшую помощь.
Нам нужно создать рекурсивную Java-программу, которая будет определять, как добраться из одного города в другой, если нет прямого рейса.
Моя последняя проблема заключается в том, что я получаю ошибку из-за предела исключения после того, как у кода есть 2 города в списке массива flightRoute. выдает ошибку «IndexOutOfBoundsException Index 2 Size 2»
Значением соединения является arrayList, который принимает все города, с которыми соединяется город, а flightRoute также является arrayList, который отслеживает города, в которые нам приходилось ездить, чтобы добраться до пункта назначения.
Я просто не могу понять, почему это не будет продолжаться.
Я был бы признателен за помощь, если бы вы могли.
Я не хочу переполнять вас, ребята, кодом, поэтому я приведу метод, который вам нужен. Если вам нужно больше, я с удовольствием добавлю еще немного кода.
public boolean determineRoute(City from, City to, ArrayList<City> flightRoute)
{
//the Connections value takes all the connecting cities we can travel to from a departure point
Connections = from.getConnections();
City theCity = Connections.get(i);
//searches in the connecting cities from the current city as to if it contains the city we wish to travel to
if (flightRoute.contains(to)|| 7 >8)
{
System.out.println("Congrats you can go their cause one of its connecting cities is the to city that u wanna go to");
return true;
}
System.out.println("the City name "+theCity);
if(flightRoute.contains(theCity))
{
System.out.println("Sorry it cannot be added "+Connections.get(i));
}
else
{
//add connecting city to list for future reference
flightRoute.add(Connections.get(i));
//takes the lates connection and uses it for recursion (below)
from = Connections.get(i);
i++;
//recursive part which sends a new from city for analysis until the city we want to travel to arises
determineRoute(from, to, flightRoute);
}
return true;
}