Benutzer-Werkzeuge

Webseiten-Werkzeuge


listen:trennungstrukturdaten:hatkunde:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

listen:trennungstrukturdaten:hatkunde:start [2024/09/19 08:02] – angelegt Martin Pabstlisten:trennungstrukturdaten:hatkunde:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== Methode letztesElementLöschen(): Lösung ====== 
-<HTML> 
  
-<div class="java-online" style="height: 650px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'letztesElementLöschen'}"> 
- 
-<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.hatKunde("Silke")); 
-println(s.hatKunde("Tom")); 
- 
- 
-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); 
-   } 
- 
-   boolean hatKunde(String name) { 
-      if(anfang == null) return false; 
-      return anfang.hatKunde(name); 
-   } 
- 
-} 
- 
-class Knoten { 
-   Knoten nachfolger; 
-   Kunde daten; 
- 
-   Knoten(Kunde kunde) { 
-      this.daten = kunde; 
-   } 
- 
-   boolean hatKunde(String name) { 
-      if(daten.name == name) return true; 
-      if(nachfolger == null) return false; 
-      return nachfolger.hatKunde(name); 
-   } 
- 
-   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> 
- 
-</div> 
-</HTML> 
listen/trennungstrukturdaten/hatkunde/start.1726732926.txt.gz · Zuletzt geändert: 2024/09/22 04:37 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki