www.r-krell.de
Webangebot für Schule und Unterricht, Software, Fotovoltaik und mehr

Willkommen/Übersicht  >  Informatik  >  Informatik mit Java, Teil e)   >  LinADT-Test


Testprogramm für die (alten)
linearen abstrakten Datentypen
Keller und Schlange (für bel. Objekte)

Links oben erscheint ein Extra-Fenster mit dem Testprogramm.

Zunächst muss eine Speicherstruktur gewählt werden,
bevor Daten eingegeben werden können

Das Ausführen von Java-Applets muss erlaubt sein. Erscheint oben im Browser
eine gelbe Leiste, bitte drauf klicken und geblockte Inhalte zulassen..

<

Applet geht nicht oder wird blockiert? - Gründe, Abhilfe und alle Downloads (in neuem Tab) - nur Keller&Schlange_alt (r-krell.de).jar (23 kB) herunter laden



Wie auf der Seite e) berichtet, stelle ich den Schülerinnen und Schülern in meinem Unterricht eine Oberfläche zur Verfügung, in der sie die selbstgeschriebenen Implementationen der verschiedenen Speicherstrukturen testen können.

Natürlich verhalten sich verschiedenen Kellerrealisationen völlig gleich und können jetzt hier im Test nicht unterschieden werden. Keller (auch stacks genannt) sind eben LIFO-Speicher (last in - first out): Die gespeicherten Element kommen in umgekehrter Reihenfolge wieder raus, das zuletzt mit rein gespeicherte, das immer auch mit zeige angesehen werden kann, zuerst.
Die Schlangen (auch als Warteschlangen oder als queues bezeichnet), die auch auf unterschiedliche Weise realisiert werden können und deren Funktionsfähigkeit hier getestet werden kann, sind hingegen LIFO-Speicher (first in - first out): Das zuerst mit rein gespeicherte Element steht vorne, wird mit zeige gezeigt und kann mit raus entfernt werden.

Da die Datenstrukturen jeweils für beliebige Objekte ausgelegt wurden, kann man verschiedene Wrapper-Klassen wählen, von denen passende Objekte gebildet werden. (Hinweis: Inzwischen sollte man lieber parametrisierte Keller oder Schlangen wählen, um die Typsicherheit zu verbessern). Im Programmtext der Oberfläche befinden sich Programmzeilen für die Auswahl:

// Bei der Eingabe wird je nach Knopfdruck ein Objekttyp gewählt:

  
String ein = tfEingabe.getText();
  Object Obj = 
null;
  
switch (objekttyp)  //je nach Knopfdruck enthält diese Variable einen der 3 konstanten Werte
  
{
   
case ALS_ZAHL    : try
                      
{
                        Obj = 
new Double (ein);  //Wrapper-Objekt für Kommazahlen
                        
break;
                      }
                      
catch (Exception nf)
                      {
                        ausgabe.append (
"** "+ein+" keine gültige Zahl -- neu eingeben!\n");
                        
return;
                      }
   
case ALS_ZEICHEN : Obj = new Character (ein.charAt(0));
                      
break;                     //Wrapper-Objekt für Schriftzeichen
   
case ALS_ZKETTE  : Obj = ein;                 //String ist bereits ein Objekttyp
  
}
  datenstruktur.rein (Obj);

// Identifikation eines Objekts bei der Ausgabe: Java erkennt Objekttypen mit instanceof

  
Object Obj = datenstruktur.raus();
  
if (Obj instanceof Double)
  {
     aus = 
"Zahl "+Obj;  //hier und im Folgenden wird ausgenutzt, dass Java bei ".."+... implizit
  }                      
//Objekte in Textform umwandelt -- wie explizit bei ".."+Obj.toString();
  
else if (Obj instanceof Character)
  {
     aus = 
"Zeichen '"+Obj+"'";
  }
  
else if (Obj instanceof String)
  {
     aus = 
"Zeichenkette \""+Obj+"\"";
  }
  ausgabe.append (aus+
" entfernt!\n");


zurück zur Seite „Informatik mit Java, Teil e)"


zum Anfang dieser Seite
Willkommen/Übersicht   -   Was ist neu?   -   Software   -   Mathematik   -   Physik   -   Informatik   -   Schule: Lessing-Gymnasium und -Berufskolleg   -   Fotovoltaik   -   & mehr   -   Kontakt: e-Mail,  News-Abo, Gästebuch, Impressum   -  Grußkarten, site map, Download und Suche

Diese Seite ist Teil des Webangebots http://www.r-krell.de. Sie können diese Seite per e-Mail weiter empfehlen (tell a friend).