listen:trennungstrukturdaten:nteselementloesung:start
Dies ist eine alte Version des Dokuments!
Methode gibDenNtenKunden(): Lösung
<HTML>
<div class="java-online" style="height: 650px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'gibNtenWert'}">
<script type="text/plain" title="Hauptprogramm.java"> Supermarktkasse s = new Supermarktkasse(); s.hintenAnstellen(new Kunde("Max")); s.hintenAnstellen(new Kunde("Tina")); s.hintenAnstellen(new Kunde("Silke")); s.hintenAnstellen(new Kunde("Tim"));
println(s.gibDenNtenKunden(2).name);
class Supermarktkasse {
Knoten anfang; Knoten ende;
void hintenAnstellen(Kunde kunde) { if(anfang == null) { anfang = new Knoten(kunde); ende = anfang; return; }
Knoten neuerKnoten = new Knoten(kunde); ende.setNachfolger(neuerKnoten); ende = neuerKnoten;
}
Kunde erstenEntnehmen() { Knoten erster = anfang; anfang = erster.getNachfolger(); return erster.getDaten(); }
int getAnzahlIterativ() { if(anfang == null) { return 0; }
int anzahl = 1;
Knoten aktuellerKnoten = anfang; while (aktuellerKnoten.getNachfolger() != null) { aktuellerKnoten = aktuellerKnoten.getNachfolger(); anzahl++; }
return anzahl;
}
int getAnzahlRekursiv() { if(anfang == null) return 0; return anfang.getAnzahl(); }
Kunde gibDenNtenKunden(int n) { if(n == 0) return anfang.getDaten(); return anfang.gibDenNtenKunden(n); }
}
class Knoten {
Knoten nachfolger; Kunde daten;
Knoten(Kunde kunde) { this.daten = kunde; }
int getAnzahl() { if(nachfolger == null) return 1; return nachfolger.getAnzahl() + 1; }
Knoten getNachfolger() { return nachfolger; }
void setNachfolger(Knoten nachfolger) { this.nachfolger = nachfolger; }
Kunde getDaten() { return daten; }
Kunde gibDenNtenKunden(int n) { if(n == 1) return daten; if(nachfolger != null) { return nachfolger.gibDenNtenKunden(n - 1); }
// Fehler: n ist zu groß! return null; }
}
class Kunde {
String name;
Kunde(String name) {
this.name = name; }
} </script>
listen/trennungstrukturdaten/nteselementloesung/start.1726731703.txt.gz · Zuletzt geändert: 2024/09/22 04:37 (Externe Bearbeitung)