Benutzer-Werkzeuge

Webseiten-Werkzeuge


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)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki