Servus Communitiy,
Ich hab ein Problem mit dieser Aufgabe:
Und hab mich dann auch an den Code gewagt. Ich versuche zu überprüfen ob der erste Ort überhaupt den nächsten erreicht. Wenn ja dann schaue ich ob ich vom 2ten Ort den 3ten noch erreichen würde, wenn nicht tanke ich dort. Aber irgendwo habe ich einen Denkfehler.
ich wäre über Denkanregungen sehr dankbar.
mfg El Hadji
Ich hab ein Problem mit dieser Aufgabe:

Und hab mich dann auch an den Code gewagt. Ich versuche zu überprüfen ob der erste Ort überhaupt den nächsten erreicht. Wenn ja dann schaue ich ob ich vom 2ten Ort den 3ten noch erreichen würde, wenn nicht tanke ich dort. Aber irgendwo habe ich einen Denkfehler.
Code:
public class LKW
{
private double reichweite;
public LKW(double reichweite)
{
this.reichweite = reichweite;
}
public ArrayList<Tankstelle> berechneTankstops (Ort[] route)
{
ArrayList<Tankstelle> stops = new ArrayList <Tankstelle>();
double neueReichweite = reichweite;
for(int i = 0; i < route.length-2; i++)
{
neueReichweite = reichweite;
for (int j = i+1; j < route.length-1; j++)
{
if(route[i].getDistanzZu(route[j]) <= neueReichweite)
{
neueReichweite -= route[i].getDistanzZu(route[j]);
if (route[j].getDistanzZu(route[j+1]) > neueReichweite)
{
if(route[j] instanceof Tankstelle)
{
stops.add((Tankstelle)route[j]);
i = j-1;
break;
}
else
return null;
}
else
{
neueReichweite -= route[j].getDistanzZu(route[j+1]);
}
}
else
return null;
}
}
return stops;
}
}
mfg El Hadji