Ich habe ein bisschen komplexe App, um Busrouten und viele Methoden, die mir helfen, das zu tun. Dies ist der entsprechende Code über meine Frage:JAVA, Methode, um die Entfernung zwischen verschiedenen Punkten
Meine Klasse Station:
public class Station {
private int id;
private Point position;
private int capacity;
private int currentPpl;
public Point getStationPosition() {
return position;
}
}
Meine Klasse-Stop:
public class Stop {
private Station station;
private int nLiters;
public Station getStation() {
return station;
}
}
Meine Klasse Route:
public class Route {
private int start;
private Vector <Stop>stops=new Vector <Stop>();
public Vector <Stop> getStops(){
return stops;
}
nun in der Klasse Bus (siehe unten) Ich habe eine Methode, die den Abstand zwischen zwei Punkten berechnet, die Methode "getTimeDistance" und jetzt i wan t eine Methode, die die gesamte Zeit, die der Bus benötigt, um durch alle Haltestellen zu fahren, mit der Methode "getTimeDistance" zurückgibt, indem er auf die Haltestellenposition zugreift und einzeln berechnet.
Ich werde zeigen, was ich bisher entwickeln diese in der Methode „getAllTime“ zu erledigen:
public class Bus {
private int id;
private int capacity;
private int speed;
public double getTimeDistance(Point ini, Point end){
double dist;
double time;
dist = Math.sqrt((fim.x-ini.x)*(fim.x-ini.x) + (fim.y-ini.y)*(fim.y-ini.y));
time=dist/speed;
return time;
}
public getAllTime(Route r){
int res = 0;
Point pos=null;
Stop s;
for (int i=0; a<r.getStops().size();i++){
s=i.getStops().get(i);
pos=r.getStation().getStationPosition();
res+=(int)getTimeDistance(pos, pos);
}
return res;
}
}
Diese Methode „getAllTime“ ist offensichtlich nicht, wie ich arbeiten will, es gibt „0“, weil es berechnet zwei gleiche Positionen durch die Schleife für.
Ich vermisse etwas Wichtiges in meinem Code, um das zu tun, durch die Schleife "für" habe ich bereits die Positionen der Haltestellen.
Was ich will ist die Zeit zwischen der 1. und der 2. Position, der 2. und der 3., der 3. und der vierte und so weiter zu berechnen und dann die Summe aller berechneten Zeiten zurückgibt.
Verwenden Sie nicht 'Vector'. Verwenden Sie 'ArrayList'. Siehe javadoc von 'Vector' für warum. – Andreas
Sie erkennen, dass Getter jeder Klasse Nullwerte zurückgibt Theres keine Möglichkeit, dass für die Schleife ausgeführt wird, da Ihr Vektor in der Route-Klasse leer ist \ – Priyamal
@Priyamal Dies ist wahrscheinlich ein minimales Beispiel, mit unnötigem Code entfernt, und wir schätzen das sehr , – Andreas