Hallo, mein Code zeigt nichts am Console beim Ausführen an (es sollte Zeichenkette wie lange (variable zielnah) entfernung? (variable entfernung) anzeigen).
Kann jemand mir vielleicht eine Hilfsstellung geben?
Kann jemand mir vielleicht eine Hilfsstellung geben?
Java:
class Fahrt{
Bahnhof Start, Ziel; //Zielort, Startort
Fahrt(Bahnhof Start, Bahnhof Ziel){
this.Start = Start;
this.Ziel = Ziel;
}
boolean zielnah(Bahnhof b){
int entfernungZumStart = berechneEntfernung(b, Start);
int entfernungZumZiel = berechneEntfernung(b, Ziel);
//prüfe, ob Zielentfernung großer als Startentfernung ist
return entfernungZumZiel < entfernungZumStart;
}
//Fahrtentfernung berechnen
int berechneEntfernung(Bahnhof b1, Bahnhof b2){
int entfernung = 0;
Bahnhof curr = b1;
while(curr != b2){
entfernung += curr.nS.Entfernung;
curr = curr.nS.nB;
//hier lauft die Schreife evtl zielros.
//wie kann das Stoppkriterium lauten?
}
return entfernung;
}
}
class BhfTesten{ //test-klasse
public static void main(String[] args) {
Bahnhof dortmund = new Bahnhof("Dortmund", 10, 0);
Bahnhof duisburg = new Bahnhof("Duisburg", 18, 19);
Fahrt obj1 = new Fahrt(dortmund, duisburg);
Bahnhof essen = new Bahnhof(obj1, 30, "Essen", 30);
boolean zielnah = obj1.zielnah(essen);
int entfernung = obj1.berechneEntfernung(dortmund, essen);
System.out.println("wie lange? " + zielnah + "entfernung? " + entfernung);
}
}
public class Bahnhof { /*hier kann man Eigenschaften wie Dauer, Name des Bahnhofs
einlegen*/
String Name;
Strecke nS;
int Ankunft;
int Dauer;
int Abfahrt;
Bahnhof(Fahrt f, int Entfernung, String Name, int Dauer){
this.Name = Name;
this.nS = new Strecke(this, Entfernung);
f.Ziel.nS = this.nS;
int fahrzeit = (int)Math.ceil((double) Entfernung / 2.0);
this.Abfahrt = f.Ziel.Abfahrt + fahrzeit;
this.Ankunft = this.Abfahrt - Dauer;
this.Dauer = Dauer;
}
}
class Strecke{ //Entfernung vom bestimmten Bahnhof einlegen
Bahnhof nB;
int Entfernung;
Strecke(Bahnhof Bahnhof, int Entfernung){
this.nB = Bahnhof;
this.Entfernung = Entfernung;
}
}