Hi,
möchte die Vectoren rückwärts ausgeben. Wie ist das möglich?
Hier mein Code:
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
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
}
}
Danke für jede Hilfe!
Gruß Andreas