Hashtable ausgeben

Status
Nicht offen für weitere Antworten.

Vril

Bekanntes Mitglied
Hallo,
habe foglendes Problem:
Und zwar wird bei meinem Programm der Inhalt des Hashtables nicht ausgegeben. Nur folgendes:
saft@82ba41
saft@923e39
saft@130c19b
usw.

Code:
import java.util.*; 
import IOTools.*; 

class saft { 
    
   private String typ; private double vol, preis; 
    
   public saft (String typ, double vol, double preis){ 
      this.typ = typ; 
      this.vol = vol; 
      this.preis = preis; 
   } 
   public String getTyp(){ 
      return typ; 
   } 
   public double getVol(){ 
      return vol; 
   } 
   public double getPreis(){ 
      return preis; 
   } 
}
public class Saftladen_Neu { 
    
   private double ges_vol, ges_preis; 
    
   public void bestellen(Hashtable sortiment) { 
       
      System.out.print("Welchen Saft?:\t"); 
      String typ = ReadSimple.readString(); 
       
      if (sortiment.get(typ) != null){ 
         saft current = (saft)sortiment.get(typ);   // Hilfsvariable (geht ohne new ?) 
         System.out.print("Wieviel Flaschen ?:\t"); 
         int anzahl = Integer.parseInt(ReadSimple.readString()); // mit der scheiß ReadInteger gibts Bugs 
         ges_vol = ges_vol + (anzahl*current.getVol()); 
         ges_preis = ges_preis + (anzahl*current.getPreis()); 
      } 
      else 
      System.out.println("Den Saft hamma ned."); 
          
      System.out.print("Weitere Saefte kaufen (j/n) ?"); 
      if ((ReadSimple.readString()).equalsIgnoreCase("J")) 
         bestellen(sortiment); 
      else 
      System.out.println("Gesamt-Menge: "+ges_vol+" Liter\nGesamtpreis: "+ges_preis+" eur");          
   } 
   public static void main (String []args){ 
     
   Hashtable my_sortiment = new Hashtable();    
   my_sortiment.put("Orangensaft",     new saft("Orangensaft", 0.75 , 0.89)); 
   my_sortiment.put("Apfelsaft",       new saft("Apfelsaft", 1.0 , 1.29)); 
   my_sortiment.put("Tomatensaft",     new saft("Tomatensaft", 0.5 , 0.75)); 
   my_sortiment.put("Multivitaminsaft", new saft("Multivitaminsaft", 0.7 , 1.19)); 
      
   System.out.println ("Folgende Saefte habe wir im Angebot: \n");
		for (Enumeration e = my_sortiment.elements();
		e.hasMoreElements () ;) {
			System.out.print (e.nextElement());
			if (e.hasMoreElements ())
			System.out.println (" ");
			else
			System.out.println ();
   }
   Saftladen_Neu mcd_Juices = new Saftladen_Neu(); 
   mcd_Juices.bestellen(my_sortiment); 
   } 
}
Also die Werte nach "Orangensaft" kann man ja nicht ausgeben?
Aber wie schaffe ich es das die Saftarten Orangensaft, Apfelsaft usw. ausgegeben werden?

Kann mir jemand helfen?
 

8ull23y3

Bekanntes Mitglied
Also ich glaube deine Kontrollschleife ist nicht ganz vollständig...

probier doch mal while

Code:
   Enumeration e = my_sortiment.elements();
   while ( e.hasMoreElements () ) {
         System.out.print (e.nextElement());
      
         if ( e.hasMoreElements () )
          System.out.println (" ");
         else
          System.out.println ();
   }

Vielleicht geht das... Geb keine Garantie und schlag mich net wenns nich geht! :roll:
 
B

Beni

Gast
Dieser Befehl hier:
Code:
System.out.print (e.nextElement());
übergibt der print-Methode ein Object. Da die print-Methode keine Ahnung hat, was das für ein Object ist, ruft sie die Methode "toString" (welche jedes Object besitzt) auf, und gibt deren Rückgabewert aus.
Wenn man die "toString"-Methode nicht überschreibt, gibt sie Klassenname + @ + Identifikationsnummer aus, also ziemlich das was du in deiner Ausgabe hast.
Du musst also dafür sorgen, dass die "toString"-Methode dieser Objekte die der print-Methode übergeben werden (und das sind alles Instanzen von Saft) etwas anderes zurückgibt.

Code:
public class Saft{
  [...] // Was du bis jetzt geschrieben hast

  public String toString(){
    return saftName;   // die überschriebene toString-Methode
  }
}
 

Vril

Bekanntes Mitglied
@Beni
Danke, hat funktioniert!

Noch eine kurze Frage zum Hashtable.
Und zwar wird der Hashtable ja immer "durcheinander" ausgegeben, also nicht der Reihe nach wie er im Code steht. Gibt es eine Möglichkeit den Hashtable der Reihe nach, also so wie er im Code auch steht, auszugeben?
 
B

Beni

Gast
Nein, die Information der Reihenfolge geht beim Einfügen in eine Hashtable verloren. Du könntest die Schlüssel in einer Liste speichern (ArrayList, LinkedList, ...), dann hast du die Reihenfolge noch (aber ob sich der Aufwand lohnt...).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Hashtable Value(Array) in String und dann Ausgeben Java Basics - Anfänger-Themen 23
A Verschachtelte Hashtable ausgeben. Java Basics - Anfänger-Themen 3
G Gesamte Hashtable ausgeben Java Basics - Anfänger-Themen 3
P HashTable auslesen und in createDocument ausgeben Java Basics - Anfänger-Themen 4
V Suchen und ausgeben - Hashtable Java Basics - Anfänger-Themen 3
G Inhalt einer Hashtable ausgeben Java Basics - Anfänger-Themen 2
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
B Hashtable Java Basics - Anfänger-Themen 3
H Klassen Auf eine Hashtable aus mehreren Klassen zugreifen Java Basics - Anfänger-Themen 12
arti28 Verkaufsautomat Enumerations HashTable Java Basics - Anfänger-Themen 1
D Hashtable Java Basics - Anfänger-Themen 4
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
T Collections Hashtable gezielt auslesen. Java Basics - Anfänger-Themen 13
B HashTable & Strings übergeben Java Basics - Anfänger-Themen 4
A Input/Output Hashtable Ausgabe Java Basics - Anfänger-Themen 1
P Key anhand von Value finden (Hashtable) Java Basics - Anfänger-Themen 3
S Hashtable Java Basics - Anfänger-Themen 2
T Werte in Hashtable neu zuweisen Java Basics - Anfänger-Themen 3
P 2D Welt, Hashtable Java Basics - Anfänger-Themen 5
D Hashtable/Hashmap Java Basics - Anfänger-Themen 2
D In Hashtable suchen Java Basics - Anfänger-Themen 3
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
L Hashtable nicht wirklich geeignet für mein Vorhaben? Java Basics - Anfänger-Themen 3
P | zu einer hashtable hinzufügen Java Basics - Anfänger-Themen 7
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
S Fortsetzung meiner frage (hashtable) danke vorab an alle Java Basics - Anfänger-Themen 3
S BITTE UM HILFE HASHTABLE/import java.util.Hashtable in Ecplipse Java Basics - Anfänger-Themen 12
D Eine Liste wie ne HashTable, nur mit auslesbaren Key . . . Java Basics - Anfänger-Themen 31
G Hashtable füllen Java Basics - Anfänger-Themen 2
L Arbeiten mit Vectoren in einer Hashtable Java Basics - Anfänger-Themen 2
A Unterschied zwischen HashMap und Hashtable Java Basics - Anfänger-Themen 20
G Sortierter Hashtable? Java Basics - Anfänger-Themen 3
D Eine abgeänderte Hashtable erstellen Java Basics - Anfänger-Themen 3
K Probleme mit java.util.hashtable Java Basics - Anfänger-Themen 10
G Hashtable -> Ordnerstruktur Java Basics - Anfänger-Themen 10
M Hashtable gleichzeitigen Zugriff verhindern Java Basics - Anfänger-Themen 11
C Problem mit Hashtable Java Basics - Anfänger-Themen 6
M Hashtable an Datenbank schicken Java Basics - Anfänger-Themen 3
F Hashtable mit String[] als value Java Basics - Anfänger-Themen 2
F invertierung einer Hashtable Java Basics - Anfänger-Themen 4
T Warum kann Hashtable get Methode nicht funktionieren? Java Basics - Anfänger-Themen 3
N NullPointerException bei meiner Hashtable Java Basics - Anfänger-Themen 2
M Hashtable oder Hashmap mit Inhalt vorbelegen Java Basics - Anfänger-Themen 2
C Hashtable-get Java Basics - Anfänger-Themen 2
K Hashtable mischen (shuffeln)? Java Basics - Anfänger-Themen 4
H Objekte in einer Hashtable am einfachsten sortieren Java Basics - Anfänger-Themen 13
G Hilfe! Wie Kreise in Hashtable ablegen und wieder auslesen? Java Basics - Anfänger-Themen 2
G unterschied hashtable und hashmap? Java Basics - Anfänger-Themen 3
A Hashtable - 3 Suchmöglichkeiten Java Basics - Anfänger-Themen 4
G hashtable und unsafe, unchecked Code Java Basics - Anfänger-Themen 3
L Hashtable Verständnis Frage Java Basics - Anfänger-Themen 4
R Hashtable ohne Values Java Basics - Anfänger-Themen 5
G Hashtable oder was sonst? Java Basics - Anfänger-Themen 8
S Value von ein Hashtable collectionen Java Basics - Anfänger-Themen 3
S Hashtable & Datei Java Basics - Anfänger-Themen 4
W Hashtable Integer als Value Java Basics - Anfänger-Themen 6
S Hashtable probleme Java Basics - Anfänger-Themen 6
N ein array in der hashtable Java Basics - Anfänger-Themen 6
W Hashtable oder was Anderes Java Basics - Anfänger-Themen 8
I Warum ließt er den Inhalt der Hashtable nicht? Java Basics - Anfänger-Themen 5
G die keys einer Hashtable sortieren Java Basics - Anfänger-Themen 15
D Hashtable gibt eigenartiges wieder Java Basics - Anfänger-Themen 2
G hashtable jeden wert mit trim() bearbeiten Java Basics - Anfänger-Themen 3
K Objekte und deren Anzahl speichern, hashtable? Java Basics - Anfänger-Themen 9
P hashtable Java Basics - Anfänger-Themen 8
J HashTable Java Basics - Anfänger-Themen 4
A Hashtable als Rückgabewert Java Basics - Anfänger-Themen 3
N maximale Anzahl Schlüssel in einem Hashtable Java Basics - Anfänger-Themen 7
T Hashtable und Vektor Java Basics - Anfänger-Themen 3
R Hashtable wird falsch ausgegeben Java Basics - Anfänger-Themen 5
B Hashtable.containsKey Problem Java Basics - Anfänger-Themen 13
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
Glühlampe Usereingabe in der gleichen Zeile ausgeben Java Basics - Anfänger-Themen 6
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
H Minimum und Maximum ausgeben lassen Java Basics - Anfänger-Themen 7
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
K wie kann ich alle Attribute von dem Objekt(pagode) ausgeben lassen ? Java Basics - Anfänger-Themen 3
I Wortkette in umgekehrter Rheinfolge + in neuer Zeile ausgeben Java Basics - Anfänger-Themen 4
jeff98 Wie kann man in Java eine Zeichenformation ausgeben? Java Basics - Anfänger-Themen 9
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
Tommilee Char ausgeben Java Basics - Anfänger-Themen 5
K Geldbetrag in Euro + Cents ausgeben Java Basics - Anfänger-Themen 24
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
julian0507 Wörter einlesen lassen und rückwärts ausgeben Java Basics - Anfänger-Themen 7
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
JavaBeginner22 Wort mit der größten Länge ausgeben Java Basics - Anfänger-Themen 4
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben