Vector rückwärts ausgeben

Status
Nicht offen für weitere Antworten.

AndreasS

Aktives Mitglied
Hi,

möchte die Vectoren rückwärts ausgeben. Wie ist das möglich?
Hier mein Code:
Code:
import java.util.Vector; 

public class SupermarktTest { 
    
   public static void main(String[] args) { 
   	  
      //Anlegen des Lagers 
      Lager aldiLager = new Lager(); 
       
      /* Füllen des Lagers */ 
      Buch harrypotter1 = new Buch("Harry Potter 1", 15); 
      aldiLager.wareneingang(harrypotter1); 
       
      Buch harrypotter2 = new Buch("Harry Potter 2", 17); 
      aldiLager.wareneingang(harrypotter2); 
       
      Buch harrypotter3 = new Buch("Harry Potter 3", 19); 
      aldiLager.wareneingang(harrypotter3); 
       
      Buch harrypotter4 = new Buch("Harry Potter 4", 22); 
      aldiLager.wareneingang(harrypotter4); 
       
      Buch harrypotter5=new Buch("Harry Potter 5", 26); 
      aldiLager.wareneingang(harrypotter5); 
       
      Elektronikartikel stereoanlage = new Elektronikartikel("Stereoanlage", 199, 24); 
      aldiLager.wareneingang(stereoanlage); 
       
      Elektronikartikel rasierer = new Elektronikartikel("Rasierer", 29.90, 36); 
      aldiLager.wareneingang(stereoanlage); 
       
      Lebensmittel gurke = new Lebensmittel("Gurke", 0.69, "20031201"); 
      aldiLager.wareneingang(gurke); 
       
      Lebensmittel spaetzle = new Lebensmittel("Schwäbische Spätzle", 5.99, "20040101"); 
      aldiLager.wareneingang(gurke); 
       
      Lebensmittel schinkenwurst = new Lebensmittel("Schinkenwurst", 2.99, "20041208"); 
      aldiLager.wareneingang(schinkenwurst); 
       
      //========================== 
       
      /* Einkauf 1 */ 
      Warenkorb meinEinkauf = new Warenkorb(); 
      meinEinkauf.hineinlegen(schinkenwurst); 
      meinEinkauf.hineinlegen(harrypotter1); 
      meinEinkauf.hineinlegen(spaetzle); 
      meinEinkauf.hineinlegen(rasierer);
      Kasse.bezahlen(meinEinkauf); 
      System.out.println("Ende Einkauf 1\n"); 
       
      //========================== 
       
      /* Einkauf 2 */ 
      Warenkorb einAndererEinkauf = new Warenkorb(); 
      einAndererEinkauf.hineinlegen(harrypotter1); 
      einAndererEinkauf.hineinlegen(harrypotter2); 
      einAndererEinkauf.hineinlegen(harrypotter3); 
      einAndererEinkauf.hineinlegen(harrypotter4); 
      einAndererEinkauf.hineinlegen(harrypotter5); 
      Kasse.bezahlen(einAndererEinkauf); 
      System.out.println("Ende Einkauf 2\n"); 
       
      //========================== 
       
      /* Einkauf 3 */ 
      Warenkorb nochEinEinkauf = new Warenkorb(); 
      nochEinEinkauf.hineinlegen(stereoanlage); 
      nochEinEinkauf.hineinlegen(gurke); 
      Kasse.bezahlen(nochEinEinkauf);
      System.out.println("Ende Einkauf 3\n"); 
   } 
}

class Produkt { 
   // Variablen 
   
   private String name; 
   private double preis;
   private double mwst; 
   
    
   //Konstruktor 
   public Produkt(String name, double preis, double mwst) { 
      this.name = name; 
      this.preis = preis; 
      this.mwst = mwst; 
   } 
    
   /*public double bezahlen(){ 
      return preis; 
   }*/ 
   
   public String getName() { 
      return this.name; 
   } 
    
   public double getPreis() { 
      return this.preis; 
   } 
    
   public double getMwSt(){
  	if(mwst == 0.07){
  		return Math.round((preis*0.07)*100)/100.0;
  		
    }
    else{
        //return preis*0.16;
        return Math.round((preis*0.16)*100)/100.0;
    }
   }
   
   public int getGarantie() { 
   	  int garantie=0;
      return garantie; 
   } 
   

} 
class Lebensmittel extends Produkt{ 
   
   
   private String haltbarkeitsdatum; 
    
   public Lebensmittel(String name, double preis, String haltbarkeitsdatum) { 
      super(name, preis, 0.16); 
      this.haltbarkeitsdatum = haltbarkeitsdatum; 
   } 
   
} 

class Elektronikartikel extends Produkt {
   
   private int garantie; 
    
   public Elektronikartikel(String name, double preis, int garantie) { 
      super(name, preis, 0.16); 
      this.garantie = garantie; 
   } 
    
   public int getGarantie() { 
      return garantie; 
   } 
   
} 

class Buch extends Produkt { 
   
   public Buch(String name, double preis) { 
      super(name, preis, 0.07); 
   } 
   
} 

class Warenkorb {
  
   private Vector warenkorb = new Vector(); 
    
   public void hineinlegen(Produkt prod) { 
   	 
      System.out.println(prod.getName() + " " + prod.getPreis() + " (" + prod.getMwSt() + " MwSt.)");
    
      //prüfen wegen Garantie
      if(prod instanceof Elektronikartikel){ 
      System.out.println(prod.getGarantie()+" Monate Garantie");
      }
    
      warenkorb.addElement(prod); 
   } 
    
   public void herausholen(Produkt prod) { 
   
      warenkorb.remove(prod); 
   } 
    
   public int anzahlProdukte() { 
      return warenkorb.size(); 
   } 
    
   public Produkt getProduktAt(int i) { 
      return (Produkt) warenkorb.elementAt(i); 
   } 
}

class Lager { 
   private Vector lager = new Vector(); 
    
   public void wareneingang(Produkt prod) { 
      lager.addElement(prod); 
   } 
    
   public void warenausgang(Produkt prod) { 
      lager.remove(prod); 
   } 
} 

class Kasse { 
   public static void bezahlen(Warenkorb w) { 
      double preis = 0; 
      double summe_mwst = 0;
      double mwst = 0;
      double summe_ges = 0;
      
      
    
      for(int i=0; i<w.anzahlProdukte(); i++) { 
         preis += w.getProduktAt(i).getPreis();
         summe_mwst += w.getProduktAt(i).getMwSt();
      }
      
      summe_ges = preis + summe_mwst;
      summe_ges = Math.round(summe_ges*100)/100.0;
	  System.out.println("Summe incl. MwSt. " + summe_ges);
      //Warenkorb bezahlen 
   }
   	
}
Der Code läuft soweit. Wie ist es aber möglich, dass die Ausgabe "umgedreht" wird, d.h. das letzte Element des Vectors zuerst ausgegeben wird?
Danke für jede Hilfe!

Gruß Andreas
 
B

Beni

Gast
Hm, *schalt ein den Denkapparat* :wink:

Du gibst ja den Vector selbst aus, mit
Code:
      for(int i=0; i<w.anzahlProdukte(); i++) {
         preis += w.getProduktAt(i).getPreis();
         summe_mwst += w.getProduktAt(i).getMwSt();
      }

dann drehst du halt einfach die Zählung um.

Code:
      for(int i=w.anzahlProdukte()-1; i>= 0; i--) {
         preis += w.getProduktAt(i).getPreis();
         summe_mwst += w.getProduktAt(i).getMwSt();
      }

Sollte so gehen?

Liebe Grüsse Beni
 

AndreasS

Aktives Mitglied
Hi,
danke für deine Antwort. Leider geht es so nicht...
Code:
class Warenkorb {
  
   private Vector warenkorb = new Vector(); 
    
   public void hineinlegen(Produkt prod) { 
   //++++++++++++++++++++++++++++++
   //Vielleicht hier:
 
      System.out.println(prod.getName() + " " + prod.getPreis() + " (" + prod.getMwSt() + " MwSt.)");
    
           if(prod instanceof Elektronikartikel){ 
      System.out.println(prod.getGarantie()+" Monate Garantie");
      }
    
      warenkorb.addElement(prod); 
   } 
    
   public void herausholen(Produkt prod) { 
   
      warenkorb.remove(prod); 
   } 
    
   public int anzahlProdukte() { 
      return warenkorb.size(); 
   } 
    
   public Produkt getProduktAt(int i) { 
      return (Produkt) warenkorb.elementAt(i); 
   } 
}
Wäre nett, wenn du mir nochmals helfen könntest.
Gruß Andreas
 

Reality

Top Contributor
Hi,
wäre es ein Problem für dich, wenn du z.B. ArrayList oder LinkedList verwendest?!
dann könntest du folgendes machen:
Code:
LinkedList a= new LinkedList();

a.add("BlaBla");
usw.

Collection r= Collection.reverseOrder();
Collection.sort(a, r);

Liebe Grüße
Reality
 

KSG9|sebastian

Top Contributor
Code:
for(int i=warenkorb.size()-1; i>= 0; i--) { 
         preis += w.getProduktAt(i).getPreis(); 
         summe_mwst += w.getProduktAt(i).getMwSt(); 
      }

Das MUSS so gehen..!
 

AndreasS

Aktives Mitglied
Hi,
danke für deine Antwort. Ist es ein Problem, wenn ich es nicht verwenden würde?
Geht das denn nicht auch mit dem Vector?
Weiß auch gar nicht, wie ich ArrayList oder LinkedList einbauen sollte...
Gruß Andreas
 

nollario

Bekanntes Mitglied
Vector mit LinkedList/ ArrayList zu ersetzen ist kein Ding...

Vector ist im Prinzip nur die synchronized also thread sichere Variante von ArrayList...
 

AndreasS

Aktives Mitglied
habe es mal versucht einzubauen...

Code:
public class Kasse { 
   public static void bezahlen(Warenkorb w) { 
      double preis = 0; 
      double summe_mwst = 0;
      double mwst = 0;
      double summe_ges = 0;
      
      /*for(int i=0; i<w.anzahlProdukte(); i++) { 
         preis += w.getProduktAt(i).getPreis();
         summe_mwst += w.getProduktAt(i).getMwSt();
      }*/
      /*for(int i=w.anzahlProdukte()-1; i>= 0; i--) { 
         preis += w.getProduktAt(i).getPreis(); 
         summe_mwst += w.getProduktAt(i).getMwSt(); 
      }*/ 
      for(int i=warenkorb.size()-1; i>= 0; i--) { 
         preis += w.getProduktAt(i).getPreis(); 
         summe_mwst += w.getProduktAt(i).getMwSt(); 
      } 
      summe_ges = preis + summe_mwst;
      summe_ges = Math.round(summe_ges*100)/100.0;
	  System.out.println("Summe incl. MwSt. " + summe_ges);
      //Warenkorb bezahlen 
   }
}
Leider kennt er jetzt "warenkorb" nicht und es kommt ne Fehlermeldung...
Was muss ich tun?
Gruß Andreas
 

AndreasS

Aktives Mitglied
nollario hat gesagt.:
Vector mit LinkedList/ ArrayList zu ersetzen ist kein Ding...

Vector ist im Prinzip nur die synchronized also thread sichere Variante von ArrayList...

d.h. ich muss Vector nur durch ArrayList ersetzen?
 

KSG9|sebastian

Top Contributor
dann änder "warenkorb.size()-1" in "w.warenkorb.size()-1" um..
ach ja, du darfst ruhig mitdenken bei den Fehlermeldungen, denn es ist nicht allzuschwer den fehler zu finden bei der meldung "cannor resolve symbol: warenkorb", da müsste dir doch eigentlich auffallen, dass der Vector warenkorb private ist, oder ?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
M Klassen Gesamt speicherbare Elemente in Vector? Java Basics - Anfänger-Themen 3
P Vector durchsuchen und Elemente löschen Java Basics - Anfänger-Themen 4
Z Vector in jTextField/jLabel darstellen Java Basics - Anfänger-Themen 4
P Objekte in Vector werden überschrieben Java Basics - Anfänger-Themen 4
P Array in Vector speichern Java Basics - Anfänger-Themen 2
E Methoden new Vector().add(x).add(x); ? Java Basics - Anfänger-Themen 5
F Vector istGeordnet Java Basics - Anfänger-Themen 15
R Vector-Filterfunktion Java Basics - Anfänger-Themen 4
Todesbote Map (Key=String; Value = Vector) Value/Vector sortieren Java Basics - Anfänger-Themen 13
J Vector Manipulieren.. Wie? Java Basics - Anfänger-Themen 16
M Vector eines Vectors einzeln ausgeben Java Basics - Anfänger-Themen 9
K String kommt schon in Vector vor? Java Basics - Anfänger-Themen 36
J Erzeugung eines Vector-Objekts - Frage zum Typ Java Basics - Anfänger-Themen 3
H Zugriff auf Vector Element Java Basics - Anfänger-Themen 2
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
A Author in Vector Java Basics - Anfänger-Themen 22
M Vector überschreibt Elemente bei add()-Methode Java Basics - Anfänger-Themen 10
T Elemente im Vector werden einfach überschrieben! Java Basics - Anfänger-Themen 3
K Collections Vector zu String casten Java Basics - Anfänger-Themen 4
U Wozu dient ein Vector in Java? Java Basics - Anfänger-Themen 6
S Vector mit beliebigen Klassen an Funktion übergeben Java Basics - Anfänger-Themen 20
B Globale vector? Java Basics - Anfänger-Themen 7
E 2 Dimensionaler Vector Java Basics - Anfänger-Themen 5
T Map<String, Vector>? Java Basics - Anfänger-Themen 11
P Collections Vector füllen in for-Schleife Java Basics - Anfänger-Themen 3
J Vector Addition Java Basics - Anfänger-Themen 5
M 2D Vector Java Basics - Anfänger-Themen 2
N IndexOutOfBoundsException: Source does not fit in dest beim Kopieren von ArrayList in Vector Java Basics - Anfänger-Themen 4
M Umwandlung von Array in Vector und umgekehrt Java Basics - Anfänger-Themen 6
E Datentypen Klasse Vector aus der Standard-API anwenden Java Basics - Anfänger-Themen 7
D Klasse Vector entwerfen Java Basics - Anfänger-Themen 7
A Arrays vs Liste vs Vector Java Basics - Anfänger-Themen 30
H in for Schleife über Vector iterieren Java Basics - Anfänger-Themen 2
S Datentypen Vector auslesen Java Basics - Anfänger-Themen 12
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
T Vector-Positin anzeigen Java Basics - Anfänger-Themen 3
C Vector - obsolete collection Java Basics - Anfänger-Themen 1
C Vector<Object> Probleme Java Basics - Anfänger-Themen 38
C Datentypen Probleme mit Vector.contains() Java Basics - Anfänger-Themen 10
M Datentypen function(Vector<SuperClass>), Vector<Subclass> Java Basics - Anfänger-Themen 6
L Vector Sortieren Java Basics - Anfänger-Themen 8
B Vector in Table ersetzen Java Basics - Anfänger-Themen 4
B Werte einer Spalte aus DB in einen Vector schreiben Java Basics - Anfänger-Themen 15
kitz Telefonbuch (Vector) Java Basics - Anfänger-Themen 17
E Arraylist mit Daten aus Vector füllen Java Basics - Anfänger-Themen 7
S Vector -> String JComboBox Java Basics - Anfänger-Themen 11
F Vector wird überschrieben Java Basics - Anfänger-Themen 8
T Vector sortiern Java Basics - Anfänger-Themen 7
C Frage zu Vector und muliplizieren des Inhaltes Java Basics - Anfänger-Themen 2
S Vector von eigenen Klassen Java Basics - Anfänger-Themen 2
J Collection Vector Java Basics - Anfänger-Themen 8
Streeber ArrayList/Vector, mehrdimensional Java Basics - Anfänger-Themen 11
N Was ist der Unterschied zwischen ArrayList und Vector? Java Basics - Anfänger-Themen 3
babel Einen Vector/Liste mit Daten prüfen Java Basics - Anfänger-Themen 31
B Hilfe zum einem Problem mit Vector Java Basics - Anfänger-Themen 8
H Vector - Fehler? Java Basics - Anfänger-Themen 2
babel einen Vector nach Datum sortieren Java Basics - Anfänger-Themen 21
T Array-Vector Problem Java Basics - Anfänger-Themen 18
P Vector und Exception Java Basics - Anfänger-Themen 7
K Vector Java Basics - Anfänger-Themen 3
K Vector Java Basics - Anfänger-Themen 10
babel ein Vector mit verschiedenen Werten auslesen und berechnen Java Basics - Anfänger-Themen 34
T Object aus Vector übergeben Java Basics - Anfänger-Themen 2
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
L Vector einem Array hinzufügen Java Basics - Anfänger-Themen 14
P Vector mit double Java Basics - Anfänger-Themen 3
P Vector Elemente auslesen Java Basics - Anfänger-Themen 9
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
C Unterschied zwischen ArrayList und Vector Java Basics - Anfänger-Themen 2
W Vector mit String[] auslesen Java Basics - Anfänger-Themen 4
Povlsen84 Initlialisierung, Vector, serialVersionUID . kleine Fragen Java Basics - Anfänger-Themen 4
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
B Dopplete aus Vector entfernen Java Basics - Anfänger-Themen 8
E Vector Fehler bei allen Methoden von Vector Java Basics - Anfänger-Themen 2
K Vector zu Array machen Java Basics - Anfänger-Themen 10
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
L Multidimensional Vector - Recordset Java Basics - Anfänger-Themen 5
K Objektklasse mit leerem Vector füllen Java Basics - Anfänger-Themen 6
K Vector wird überschrieben Java Basics - Anfänger-Themen 7
G Vector Strijng parsen Java Basics - Anfänger-Themen 6
K vector cannot be resolved Java Basics - Anfänger-Themen 3
G Zeichenkette suchen in Vector-Klasse Java Basics - Anfänger-Themen 11
R fehler beim incrementellen schreiben in einen vector Java Basics - Anfänger-Themen 11
M ObjectInputStream, Object und Vector<Object> Java Basics - Anfänger-Themen 4
G Vector, equal & Casts Java Basics - Anfänger-Themen 5
N Objekte in einen Vector packen oder nicht? Java Basics - Anfänger-Themen 3
D Frage zu Vector Java Basics - Anfänger-Themen 7
S Problem mit Vector Java Basics - Anfänger-Themen 2
G Object[] [] nach vector casten. Java Basics - Anfänger-Themen 3
G 2D vector zugriff auf elementinterne elemente wie Java Basics - Anfänger-Themen 3
G vector in neuem vector sortieren Java Basics - Anfänger-Themen 3
G jede 2te zeile in vector leer einfügen, wie? Java Basics - Anfänger-Themen 4
G vector füllt sich immer weiter. wo muss ich ihn leeren? Java Basics - Anfänger-Themen 3
V Vector/Arraylist hat nur gleiche Einträge Java Basics - Anfänger-Themen 3
G Vector eigenen Typs mit Daten füllen Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben