// Beispiel Klasse fuer FluSuServlet // WWW & Servlets // Fachgruppe Softwaretechnik // Uwe Poborski 14.04.99 // Flug.java // benoetigte Klassen: // Flughafen // Flugzeug // ZeitAngabe import java.util.*; import java.io.*; class Flug { public int Farbe; public static final String FC = "FirstClass", BC = "BuisinessClass", TC = "TouristClass"; public Flughafen Hafen; public ZeitAngabe Anfang, Ende; public Date Datum; public String Nummer; public Flugzeug Maschine; public int TCPlaetze, BCPlaetze, FCPlaetze; public Flug Naechster; public Flug() { Farbe = FlugGraph.FARBLOS; Maschine = new Flugzeug("XXX"); } public Flug(String Nummer, Flughafen Ziel) { this.Nummer = Nummer; Hafen = Ziel; Farbe = FlugGraph.FARBLOS; Maschine = new Flugzeug("XXX"); } public Flug(String Nummer, Flughafen Ziel, Flugzeug Masch) { this.Nummer = Nummer; Hafen = Ziel; Farbe = FlugGraph.FARBLOS; if (Masch != null) Maschine = new Flugzeug(Masch.Typ); else Maschine = new Flugzeug("XXX"); } public Flug(String Nummer, Flughafen Ziel, String Typ) { this.Nummer = Nummer; Hafen = Ziel; Farbe = FlugGraph.FARBLOS; Maschine = new Flugzeug(Typ); } public Flug gibFlug(String Nummer) { if (Nummer.equals(this.Nummer)) return this; else if (Naechster != null) return Naechster.gibFlug(Nummer); else return null; } public float gibGewicht(boolean PoZ) { if (PoZ) return gibPreisGewicht(); else return gibDauer().gibinMinuten(); } public ZeitAngabe gibDauer() { ZeitAngabe ZA = new ZeitAngabe(Ende); ZA.subtrahieren(Anfang); return ZA; } public float gibPreisGewicht() { return gibPreis(TC); } public float gibPreis(String Klasse) { if (Maschine != null) { if (Klasse.equals(FC)) { return Maschine.FCPreis; } if (Klasse.equals(BC)) { return Maschine.BCPreis; } if (Klasse.equals(TC)) { return Maschine.TCPreis; } } return 0.0f; } public void anhaengen(Flug Neu) { if (Naechster == null) Naechster = Neu; else Naechster.anhaengen(Neu); } public Flug eingefuegt(Flug Neu) { if (Neu != null) Neu.Naechster = this; return Neu; } public void show(boolean all) { System.out.print(" Flug " + Nummer); if (all) System.out.print(" F:" + Farbe + " G:" + gibGewicht(true)); System.out.print(" Ab " + Anfang.gibFormZeit()); System.out.print(" An " + Ende.gibFormZeit()); ZeitAngabe ZA = new ZeitAngabe(Ende.gibStunden(), Ende.gibMinuten()); ZA.subtrahieren(Anfang); System.out.print(" Dauer " + ZA.gibFormZeit()); if (Hafen != null) System.out.print(" nach " + Hafen.Name); System.out.println(""); if (Naechster != null) Naechster.show(all); } }