Я изучаю рекурсию как часть учебника по Java, и мне нужна небольшая помощь.
Нам нужно сделать рекурсивную Java-программу, которая будет решать, как добраться из одного города в другой, когда нет прямого рейса.
Моя последняя проблема заключается в том, что я получаю исключение об ошибке за пределами границ после того, как код имеет 2 города в списке массивов FlightRoute. выдает ошибку "IndexOutOfBoundsException Index 2 Size 2"
Значение соединения представляет собой массивList, в который входят все города, с которыми соединяется город, а также FlightRoute также является массивомList, в котором отслеживаются города, в которые нам пришлось отправиться, чтобы добраться до места назначения.
Я просто не могу понять, почему это не будет продолжаться.
Я был бы признателен за помощь в этом, если бы вы могли.
Я не хочу перегружать вас, ребята, кодом, поэтому я приведу метод, который вам нужен. Если вам нужно больше, я с радостью добавлю еще немного кода.
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;
}
i
, но не показано, откуда он взялся... или почему вы ожидаете, что сможете увеличить его и запроситьConnections.get(i)
без проблем... - person Jon Skeet   schedule 26.09.2011