Ausgabe Gesamtpreis

Diskutiere Ausgabe Gesamtpreis im Java Basics - Anfänger-Themen Bereich.
Bitte aktiviere JavaScript!
J

Jaro

Hallo vielleicht kann mir hier jemand weiterhelfen.
Ich benötige die Methode um von Artikeln[ ] den Gesamtpreis zu ermitteln, hier die Main( ) Methode:

Java:
public class TestWarenkorb {
  public static void main(String[] args) {
    Warenkorb wk1 = new Warenkorb(12344, 34553, "Max");

    System.out.println("WarenkorbID:"+ " " +wk1.getWarenkorbID());
    System.out.println("Kundennummer:"+ " " +wk1.getKundennummer());
    System.out.println("Kundenname:"+ " " +wk1.getKunde());

    Artikel[] artikel = new Artikel[3];
    artikel[0] = new Artikel(1334, "Buch", 35.0, 0.07);
    artikel[1] = new Artikel(4567, "Lizenz", 260.0, 0.19);
    artikel[2] = new Artikel(6789, "Software", 250.0, 0.19);

    for (int i = 0; i < Artikel.getBestand(); i++) {
      System.out.println("\n" + wk1.getKunde() + ", kauft " +artikel.getArtikelbeschreibung() + " " +"(Preis: " +artikel.getNettopreis() + "EUR)");
      System.out.println("Artikelnummer: " +artikel.getArtikelnummer());
      System.out.println("Artikelbezeichnung: " +artikel.getArtikelbeschreibung());
      System.out.println("Bruttopreis: " +artikel.getBruttopreis() + "EUR");
    }

    System.out.println("\nIm Warenkorb befinden sich " + Artikel.getBestand()+ " Artikel");
    System.out.println("Gesamt Nettopreis:"+ " " +wk1.getGesamtNettopreis() + "EUR");
    System.out.println("Gesamt Bruttopreis:"+ " " +wk1.getGesamtBruttopreis() + "EUR");
  }
}
Die Get Methode getGesamtNettopreis( ) und getGesamtBruttopreis( ) befindet sich in der Warenkorb Klasse.
Hat jemand eine Idee?
 
Zuletzt bearbeitet von einem Moderator:
T

Tobias-nrw

Java:
public class TestWarenkorb {
	public static void main(String[] args)

	{
		Warenkorb wk1 = new Warenkorb(12344, 34553, "Max");

		System.out.println("WarenkorbID:" + " " + wk1.getWarenkorbID());
		System.out.println("Kundennummer:" + " " + wk1.getKundennummer());
		System.out.println("Kundenname:" + " " + wk1.getKunde());

		Artikel[] artikel = new Artikel[3];
		artikel[0] = new Artikel(1334, "Buch", 35.0, 0.07);
		artikel[1] = new Artikel(4567, "Lizenz", 260.0, 0.19);
		artikel[2] = new Artikel(6789, "Software", 250.0, 0.19);

		for (int i = 0; i < Artikel.getBestand(); i++)

		{
			System.out.println("\n" + wk1.getKunde() + ", kauft " + artikel.getArtikelbeschreibung() + " " + "(Preis: "
					+ artikel.getNettopreis() + "EUR)");
			System.out.println("Artikelnummer: " + artikel.getArtikelnummer());
			System.out.println("Artikelbezeichnung: " + artikel.getArtikelbeschreibung());
			System.out.println("Bruttopreis: " + artikel.getBruttopreis() + "EUR");
		}

		System.out.println("\nIm Warenkorb befinden sich " + Artikel.getBestand() + " Artikel");
		System.out.println("Gesamt Nettopreis:" + " " + wk1.getGesamtNettopreis() + "EUR");
		System.out.println("Gesamt Bruttopreis:" + " " + wk1.getGesamtBruttopreis() + "EUR");
	}
}
 
J

Jaro

Java:
public class Artikel
{
    private int artikelnummer;
    private String artikelbeschreibung;
    private double nettopreis;
    private double steuersatz;
    
    private static int bestand = 0;
    
    public Artikel (int artikelnummer, String artikelbeschreibung,
                    double nettopreis, double steuersatz)
    {
        this.artikelnummer = artikelnummer;
        this.artikelbeschreibung = artikelbeschreibung;
        this.nettopreis = nettopreis;
        this.steuersatz = steuersatz;
        
        bestand++;
    }
    
    public double getBruttopreis()
    {
        double preis = nettopreis + (nettopreis * steuersatz);
        return Math.round(100.0 * preis) / 100.0 ;
    }
        
    public int getArtikelnummer()
    {
        return artikelnummer;
    }

    public void setArtikelnummer(int artikelnummer)
    {
        this.artikelnummer = artikelnummer;
    }

    public String getArtikelbeschreibung()
    {
        return artikelbeschreibung;
    }

    public void setArtikelbeschreibung(String artikelbeschreibung)
    {
        this.artikelbeschreibung = artikelbeschreibung;
    }

    public double getNettopreis()
    {
        return nettopreis;
    }

    public void setNettopreis(double nettopreis)
    {
        this.nettopreis = nettopreis;
    }

    public double getSteuersatz()
    {
        return steuersatz;
    }

    public void setSteuersatz(double steuersatz)
    {
        this.steuersatz = steuersatz;
    }
    
    public static int getBestand()
    {
        return bestand;
    }
}

Java:
public class Warenkorb
{
    private int warenkorbID;
    private int kundennummer;
    private String kunde;
    private double gesamtNettopreis;
    private double gesamtBruttopreis;
    
    private int[] artikelIndex = new int[10];
    
    public Warenkorb (int warenkorbID, int kundennummer, String kunde)
    {
        this.warenkorbID = warenkorbID;
        this.kundennummer = kundennummer;
        this.kunde = kunde;
    }

    public int[] getArtikelIndex() {
        return artikelIndex;
    }

    public void setArtikelIndex(int[] artikelIndex) {
        this.artikelIndex = artikelIndex;
    }

    public String getKunde()
    {
        return kunde;
    }

    public void setKunde(String kunde)
    {
        this.kunde = kunde;
    }

    public double getGesamtNettopreis()
    {
        return gesamtNettopreis;
    }

    public double getGesamtBruttopreis()
    {
        return gesamtBruttopreis;
    }

    public int getWarenkorbID()
    {
        return warenkorbID;
    }

    public void setWarenkorbID(int warenkorbID)
    {
        this.warenkorbID = warenkorbID;
    }

    public int getKundennummer()
    {
        return kundennummer;
    }

    public void setKundennummer(int kundennummer)
    {
        this.kundennummer = kundennummer;
    }
}
 
J

Jaro

Mein Problem die Ermittlung des gesamtNettopreis und Bruttopreis aus Artikel[ ]
 
mihe7

mihe7

Du definierst Dir einfach eine Variable für die Summe (anfangs 0.0) und in der Schleife addierst Du zu dieser Variablen jeweils den Nettopreis (artikel[i].getNettopreis(). Analog für Bruttopreis.

Tatsächlich sollte das der (dynamische) Warenkorb übernehmen, aber mach erst mal so.
 
T

Tobias-nrw

@mihe7 Wieder da. :D

@Jaro Du hast den Nettopreis und den Bruttopreis.... Du musst diese Preise summieren, und zwar mit zwei zusätzlichen Variablen a und b für den Nettopreis und den Bruttopreis (separat)!
 
J

Jaro

Hallo mihe7,

Code:
public class Warenkorb
{
    private int warenkorbID;
    private int kundennummer;
    private String kunde;
    private double gesamtNettopreis;
    private double gesamtBruttopreis;
    
    private Artikel[] artikel = new Artikel[10];
    
    public Warenkorb (int warenkorbID, int kundennummer, String kunde)
    {
        this.warenkorbID = warenkorbID;
        this.kundennummer = kundennummer;
        this.kunde = kunde;
    }

    public Artikel[] getArtikel() {
        return artikel;
    }

    public void setArtikel(Artikel[] artikel) {
        this.artikel = artikel;
    }

    public String getKunde()
    {
        return kunde;
    }

    public void setKunde(String kunde)
    {
        this.kunde = kunde;
    }

    public double getGesamtNettopreis()
    {
        return gesamtNettopreis;
    }

    public double getGesamtBruttopreis()
    {
        double gesamtBruttopreis = 0.0;
        int i = 0;
        while (artikel[i] != null)
        {
        gesamtBruttopreis += artikel[i].getBruttopreis();
        i++;
        }
        return gesamtBruttopreis;
    }

    public int getWarenkorbID()
    {
        return warenkorbID;
    }

    public void setWarenkorbID(int warenkorbID)
    {
        this.warenkorbID = warenkorbID;
    }

    public int getKundennummer()
    {
        return kundennummer;
    }

    public void setKundennummer(int kundennummer)
    {
        this.kundennummer = kundennummer;
    }
}
 
Zuletzt bearbeitet:
J

Jaro

Ich hab die Methode getGesamtBruttopreis verbessert. bekomme aber Fehlermeldungen. Was mache ich falsch?
 
J

Jaro

Ich habs nochmal geändert, aber funktioniert noch nicht. Kann mir da jemand weiterhelfen?

Code:
    public double getGesamtBruttopreis()
    {
        for (int i = 0; i < artikel[i].getBruttopreis(); i++)
        {
            artikel[i].getBruttopreis();
      
        }
        return gesamtBruttopreis;
    
    }
 
T

Tobias-nrw

Versuche bitte mal:
i < artikel.length && artikel[i] != null;
 
J

Jaro

Habs geändert die Schleife funktioniert leider nicht:

Ausgabe:

WarenkorbID: 12344
Kundennummer: 34553
Kundenname: Max

Max, kauft Buch (Preis: 35.0EUR)
Artikelnummer: 1334
Artikelbezeichnung: Buch
Bruttopreis: 37.45EUR

Max, kauft Lizenz (Preis: 260.0EUR)
Artikelnummer: 4567
Artikelbezeichnung: Lizenz
Bruttopreis: 309.4EUR

Max, kauft Software (Preis: 250.0EUR)
Artikelnummer: 6789
Artikelbezeichnung: Software
Bruttopreis: 297.5EUR

Im Warenkorb befinden sich 3 Artikel
Gesamt Nettopreis: 0.0EUR
Gesamt Bruttopreis: 0.0EUR


Ich poste nochmal alle Klassen...
 
J

Jaro

Code:
public class Artikel
{
    private int artikelnummer;
    private String artikelbeschreibung;
    private double nettopreis;
    private double steuersatz;
    
    private static int bestand = 0;
    
    public Artikel (int artikelnummer, String artikelbeschreibung,
                    double nettopreis, double steuersatz)
    {
        this.artikelnummer = artikelnummer;
        this.artikelbeschreibung = artikelbeschreibung;
        this.nettopreis = nettopreis;
        this.steuersatz = steuersatz;
        
        bestand++;
    }
    
    public double getBruttopreis()
    {
        double preis = nettopreis + (nettopreis * steuersatz);
        return Math.round(100.0 * preis) / 100.0 ;
    }
        
    public int getArtikelnummer()
    {
        return artikelnummer;
    }

    public void setArtikelnummer(int artikelnummer)
    {
        this.artikelnummer = artikelnummer;
    }

    public String getArtikelbeschreibung()
    {
        return artikelbeschreibung;
    }

    public void setArtikelbeschreibung(String artikelbeschreibung)
    {
        this.artikelbeschreibung = artikelbeschreibung;
    }

    public double getNettopreis()
    {
        return nettopreis;
    }

    public void setNettopreis(double nettopreis)
    {
        this.nettopreis = nettopreis;
    }

    public double getSteuersatz()
    {
        return steuersatz;
    }

    public void setSteuersatz(double steuersatz)
    {
        this.steuersatz = steuersatz;
    }
    
    public static int getBestand()
    {
        return bestand;
    }
}


Code:
public class Warenkorb
{
    private int warenkorbID;
    private int kundennummer;
    private String kunde;
    private double gesamtNettopreis = 0.0;
    private double gesamtBruttopreis = 0.0;
    
    private Artikel[] artikel = new Artikel[3];
    public double getGesamtBruttopreis;
    
    public Warenkorb (int warenkorbID, int kundennummer, String kunde)
    {
        this.warenkorbID = warenkorbID;
        this.kundennummer = kundennummer;
        this.kunde = kunde;
    }

    public Artikel[] getArtikel() {
        return artikel;
    }

    public void setArtikel(Artikel[] artikel) {
        this.artikel = artikel;
    }

    public String getKunde()
    {
        return kunde;
    }

    public void setKunde(String kunde)
    {
        this.kunde = kunde;
    }

    public double getGesamtNettopreis()
    {
        return gesamtNettopreis;
    }

    public double getGesamtBruttopreis()
    {
        for (int i = 0; i < artikel.length && artikel[i] != null; i++)
        {
            artikel[i].getBruttopreis();
      
        }
        return gesamtBruttopreis;
    }

    public int getWarenkorbID()
    {
        return warenkorbID;
    }

    public void setWarenkorbID(int warenkorbID)
    {
        this.warenkorbID = warenkorbID;
    }

    public int getKundennummer()
    {
        return kundennummer;
    }

    public void setKundennummer(int kundennummer)
    {
        this.kundennummer = kundennummer;
    }
}


Code:
public class TestWarenkorb
{
    public static void main(String[] args)
    {
    
        Warenkorb wk1 = new Warenkorb(12344, 34553, "Max");
        
        System.out.println("WarenkorbID:"+ " " +wk1.getWarenkorbID());
        System.out.println("Kundennummer:"+ " " +wk1.getKundennummer());
        System.out.println("Kundenname:"+ " " +wk1.getKunde());
        
        Artikel[] artikel = new Artikel[3];
        artikel[0] = new Artikel(1334, "Buch", 35.0, 0.07);
        artikel[1] = new Artikel(4567, "Lizenz", 260.0, 0.19);
        artikel[2] = new Artikel(6789, "Software", 250.0, 0.19);
        
          for (int i = 0; i < Artikel.getBestand(); i++)
          {
              System.out.println("\n" + wk1.getKunde() + ", kauft " +artikel[i].getArtikelbeschreibung() + " " +"(Preis: " +artikel[i].getNettopreis() + "EUR)");
              System.out.println("Artikelnummer: " +artikel[i].getArtikelnummer());
              System.out.println("Artikelbezeichnung: " +artikel[i].getArtikelbeschreibung());
              System.out.println("Bruttopreis: " +artikel[i].getBruttopreis() + "EUR");
          }
              
          System.out.println("\nIm Warenkorb befinden sich " + Artikel.getBestand()+ " Artikel");
          System.out.println("Gesamt Nettopreis:"+ " " +wk1.getGesamtNettopreis() + "EUR");
          System.out.println("Gesamt Bruttopreis:"+ " " +wk1.getGesamtBruttopreis() + "EUR");   
          
          
    }
}
 
T

temi

Du solltest in der Schleife den Preis für einzelne Artikel nicht nur abrufen, sondern auch was damit machen, z.B. addieren.
 
T

Tobias-nrw

Du hast ja nicht nur die Schleifenbedingung geändert sondern Anderes auch komplett umgestellt.
+= benutzen...
 
J

Jaro

Das habe ich auch schon versucht, geht leider nicht

Code:
public double getGesamtBruttopreis()
     {
        for (int i = 0; i < artikel.length && artikel[i] != null; i++)
        {
        gesamtBruttopreis += artikel[i].getBruttopreis();
        }
        return gesamtBruttopreis;
 
T

Tobias-nrw

Was heißt denn es geht nicht...
hast du Artikel welche null sind da rin?
 
J

Jaro

Max, kauft Buch (Preis: 35.0EUR)
Artikelnummer: 1334
Artikelbezeichnung: Buch
Bruttopreis: 37.45EUR

Max, kauft Lizenz (Preis: 260.0EUR)
Artikelnummer: 4567
Artikelbezeichnung: Lizenz
Bruttopreis: 309.4EUR

Max, kauft Software (Preis: 250.0EUR)
Artikelnummer: 6789
Artikelbezeichnung: Software
Bruttopreis: 297.5EUR

Im Warenkorb befinden sich 3 Artikel
Gesamt Nettopreis: 0.0EUR
Gesamt Bruttopreis: 0.0EUR

Nein es müsste ja Gesamt Bruttopreis: 644,35EUR kommen
 
T

Tobias-nrw

Achso... Du iterierst außerhalb von Wartekorb über Artikel und die Artikel des Warenkorb sind null.
 
J

Jaro

Ich glaub ich hab die Lösung

Code:
public class TestWarenkorb
{
    public static void main(String[] args)
    {
    
        Warenkorb wk1 = new Warenkorb(12344, 34553, "Max");
        
        System.out.println("WarenkorbID:"+ " " +wk1.getWarenkorbID());
        System.out.println("Kundennummer:"+ " " +wk1.getKundennummer());
        System.out.println("Kundenname:"+ " " +wk1.getKunde());
        
        Artikel[] artikel = new Artikel[3];
        artikel[0] = new Artikel(1334, "Buch", 35.00, 0.07);
        artikel[1] = new Artikel(4567, "Lizenz", 260.00, 0.19);
        artikel[2] = new Artikel(6789, "Software", 250.00, 0.19);
        
          for (int i = 0; i < Artikel.getBestand(); i++)
          {
              System.out.println("\n" + wk1.getKunde() + ", kauft " +artikel[i].getArtikelbeschreibung() + " " +"(Preis: " +artikel[i].getNettopreis() + "EUR)");
              System.out.println("Artikelnummer: " +artikel[i].getArtikelnummer());
              System.out.println("Artikelbezeichnung: " +artikel[i].getArtikelbeschreibung());
              System.out.println("Bruttopreis: " +artikel[i].getBruttopreis() + "EUR");
          }
              
          System.out.println("\nIm Warenkorb befinden sich " + Artikel.getBestand()+ " Artikel");
          System.out.println("Gesamt Nettopreis:"+ " " +wk1.getGesamtNettopreis() + "EUR");
          System.out.println("Gesamt Bruttopreis:"+ " " +wk1.getGesamtBruttopreis() + "EUR");   
          
         int summe = 0;
          for (int b=0; b < Artikel.getBestand(); b++)
          {
            summe += artikel[b].getBruttopreis();
          }
          System.out.println("Summe = " + summe);
          
        }
          
          
    }



WarenkorbID: 12344
Kundennummer: 34553
Kundenname: Max

Max, kauft Buch (Preis: 35.0EUR)
Artikelnummer: 1334
Artikelbezeichnung: Buch
Bruttopreis: 37.45EUR

Max, kauft Lizenz (Preis: 260.0EUR)
Artikelnummer: 4567
Artikelbezeichnung: Lizenz
Bruttopreis: 309.4EUR

Max, kauft Software (Preis: 250.0EUR)
Artikelnummer: 6789
Artikelbezeichnung: Software
Bruttopreis: 297.5EUR

Im Warenkorb befinden sich 3 Artikel
Gesamt Nettopreis: 0.0EUR
Gesamt Bruttopreis: 0.0EUR
Summe = 643

 
J

Jaro

Code:
      for (int b=0; b < Artikel.getBestand(); b++)
          {
            wk1.gesamtNettopreis += artikel[b].getNettopreis();
            wk1.gesamtBruttopreis += artikel[b].getBruttopreis();
          }
habs verbessert
 
T

temi

Ich glaub ich hab die Lösung
Das ist keine Lösung, das ist Quatsch.

Du musst die Artikel dem Warenkorb hinzufügen und nicht außerhalb des Warenkorbs die Artikeltexte ausgeben.

Edit:

Gibt es Vorgaben, welche Methoden deine Klassen enthalten sollen/dürfen?

Aktuell hat die Klasse Warenkorb nur eine Methode, der du ein Array von Artikel übergeben kannst. Das wäre demnach der Weg.

Edit2:

Die Methode getBestand() gehört auch nicht zu Artikel, denn ein Artikel ist immer genau ein Artikel, sondern zum Warenkorb, der die Artikel enthalten soll.
 
Zuletzt bearbeitet:
mihe7

mihe7

@Jaro nachdem Du das Prinzip des Summierens verstanden hast, solltest Du den Spaß in den Warenkorb integrieren (s. Post von @temi). Dazu überlegst Du Dir, dass ein neuer Warenkorb leer ist, also 0 (und nicht 3) Artikel enthält. Mit setArtikel kannst Du die Artikel, die sich im Warenkorb befinden festlegen. An der Stelle kannst Du im Warenkorb auch die Preise berechnen. Alternativ kannst Du das auch on-the-fly in den Methoden getGesamtBruttopreis und getGesamtNettopreis machen.
 
J

Jaro

Ich hab den Warenkorb neu aufgebaut mit ArrayList und nicht mehr Statisch.
Hab hier aber ein Problem das ich nicht finde.

1. Die Eingabe der Artikelbezeichnung wird einfach übersprungen Warum?
2. ich kann über den Scanner kein Double eingeben .nextDouble (Nur Ausgabe). Sonst kommt ein Fehler
2. Wie erstelle ich über die ArrayListe den Gesamtpreis?

Quellcode....
 
J

Jaro

Code:
public class Artikel
{
    private int artikelnummer;
    private String artikelbeschreibung;
    private double nettopreis;
    private double steuersatz;
    
    private static int bestand = 0;
    
    public Artikel (int artikelnummer, String artikelbeschreibung,
                    double nettopreis, double steuersatz)
    {
        this.artikelnummer = artikelnummer;
        this.artikelbeschreibung = artikelbeschreibung;
        this.nettopreis = nettopreis;
        this.steuersatz = steuersatz;
        bestand++;
    }

    // Bruttopreis berechnen
    
    public double getBruttopreis()
    {
        double bruttopreis = nettopreis + (nettopreis * steuersatz);
        return Math.round(100.0 * bruttopreis) / 100.0;
    }
    
    // Getter und Setter Methoden
    
    public int getArtikelnummer()
    {
        return artikelnummer;
    }

    public void setArtikelnummer(int artikelnummer)
    {
        this.artikelnummer = artikelnummer;
    }

    public String getArtikelbeschreibung()
    {
        return artikelbeschreibung;
    }

    public void setArtikelbeschreibung(String artikelbeschreibung)
    {
        this.artikelbeschreibung = artikelbeschreibung;
    }

    public double getNettopreis()
    {
        return nettopreis;
    }

    public void setNettopreis(double nettopreis)
    {
        this.nettopreis = nettopreis;
    }

    public double getSteuersatz()
    {
        return steuersatz;
    }

    public void setSteuersatz(double steuersatz)
    {
        this.steuersatz = steuersatz;
    }
    
    public static int getBestand()
    {
        return bestand;
    }
    
    @Override
public String toString()
{
    String state = "Artikelnummer: " +artikelnummer + " Artikelbezeichnung: " + artikelbeschreibung + " Nettopreis: " + nettopreis + "EUR" + " Steuersatz: " + steuersatz;
    return state;
}
    
    
}

Code:
import java.util.ArrayList;
import java.util.Scanner;

public class Warenkorb
{
    private int warenkorbnummer;
    private int kundennummer;
    private String kunde;
    public double gesamtNettopreis = 0;
    public double gesamtBruttopreis = 0;
    
    ArrayList<Artikel> ArtikelListe = new ArrayList<Artikel>();
    
    // Konstruktor
    
    public Warenkorb (int warenkorbnummer, int kundennummer, String kunde)
    {
        this.warenkorbnummer = warenkorbnummer;
        this.kundennummer = kundennummer;
        this.kunde = kunde;
    }

     // Artikel Hinzufügen
    
    public void addArtikel()
    {
       System.out.println();
       System.out.println("Geben Sie die Artikelnummer ein (z.B. 1234)");
       Scanner eingabe = new Scanner(System.in);
       int artikelnummer = eingabe.nextInt();

       System.out.println("Geben Sie die Bezeichnung ein (z.B. Buch)");
       String artikelbeschreibung = eingabe.nextLine();

       System.out.println("Geben Sie den Nettopreis ein (z.B. 12.50)");
       double nettopreis = eingabe.nextDouble();
      
       System.out.println("Geben Sie den Steuersatz ein (z.B. 0.19 oder 0.07)");
       double steuersatz = eingabe.nextDouble();

       Artikel artikel = new Artikel(artikelnummer, artikelbeschreibung, nettopreis, steuersatz);
       ArtikelListe.add(artikel);
       System.out.println("Artikel hinzugefügt");
    }
    
    // Artikel löschen
    
    public void removeArtikel()
    {
        ArtikelListe.clear();
        System.out.println("Artikel gelöscht");
    }
    
    // Artikel anzeigen
    
    public void anzeigeArtikel()
    {
        System.out.println( ArtikelListe.size()+ " Artikel ");
           for (Artikel x : ArtikelListe)
           {
               System.out.println(x.toString());
           }
    }
    
    // Getter und Setter Methoden

    public String getKunde()
    {
        return kunde;
    }

    public void setKunde(String kunde)
    {
        this.kunde = kunde;
    }

    public double getGesamtNettopreis()
    {
        return gesamtNettopreis;
    }

    public double getGesamtBruttopreis()
    {
    
        return gesamtBruttopreis;
    }

    public int getWarenkorbnummer()
    {


MAIN()

[CODE]import java.util.Scanner;

public class TestWarenkorb
{
      public static void main( String [] args)
      {
            Scanner eingabe = new Scanner(System.in);
            Warenkorb wk = new Warenkorb(12345, 444444, "Kunde1");
        
            int menu = 0;
            while (menu != 4)
            {
                System.out.println("");
                System.out.println("Warenkorbnummer:"+ " " +wk.getWarenkorbnummer());
                System.out.println("Kundennummer:"+ " " +wk.getKundennummer());
                System.out.println("Kundenname:"+ " " +wk.getKunde());
                System.out.println("");
                System.out.println("(1) Warenkorb Anzeigen ");
                System.out.println("(2) Artikel Hinzufügen ");
                System.out.println("(3) Löschen aller Artikel ");
                System.out.println("(4) Beenden ");
                System.out.println("");
                menu = eingabe.nextInt(); 

                if (menu == 1)
                {
                    wk.anzeigeArtikel();
                }

                if (menu == 2)
                {
                    wk.addArtikel();
                }
                
                if (menu == 3)
                {
                    wk.removeArtikel();
                }
            }
        }
    }
return warenkorbnummer;
}

public void setWarenkorbnummer(int warenkorbnummer)
{
this.warenkorbnummer = warenkorbnummer;
}

public int getKundennummer()
{
return kundennummer;
}

public void setKundennummer(int kundennummer)
{
this.kundennummer = kundennummer;
}
}[/CODE]
 
J

Jaro


Warenkorbnummer: 12345
Kundennummer: 444444
Kundenname: Kunde1

(1) Warenkorb Anzeigen
(2) Artikel Hinzufügen
(3) Löschen aller Artikel
(4) Beenden

2

Geben Sie die Artikelnummer ein (z.B. 1234)
1234

Geben Sie die Bezeichnung ein (z.B. Buch) !!!!!!!!!! WARUM? wird das übersprungen????
Geben Sie den Nettopreis ein (z.B. 12.50). !!!!WARUM? Scanner .nextDouble INT Eingabe -> Ausgabe Double???
1

Geben Sie den Steuersatz ein (z.B. 0.19 oder 0.07)
1

Artikel hinzugefügt
 
mihe7

mihe7

Verschieb mal bitte die Eingaben nach TestWarenkorb. Der Warenkorb selbst ist eine Art Datenstruktur.

Beispielsweise kommt die Methode addArtikel() nach TestWarenkorb und dort schreibst Du dann statt
Java:
    ArtikelListe.add(artikel);
einfach
Java:
    wk.add(artikel);
Die Klasse Warenkorb bekommt dafür eine Methode der Art:
Java:
public void add(Artikel artikel) {
    artikelListe.add(artikel);
}
BTW: in Java schreibt man Bezeichner für Methoden, Variablen, Parameter in lowerCamelCase, d. h. per Konvention muss es artikelListe und nicht ArtikelListe heißen.

Die Eingabe der Artikelbezeichnung wird einfach übersprungen Warum?
Das liegt daran, dass ein nextInt() den Zeilenumbruch nicht ausliest. Der wird mit nextLine() gelesen (ergibt dann einen leeren String) und das passiert bei Dir eben in der Artikelbezeichnung. Für einfach davor nochmal einen nextLine-Aufruf ein.

ich kann über den Scanner kein Double eingeben .nextDouble (Nur Ausgabe). Sonst kommt ein Fehler
Was gibst Du ein? Probier mal Komma statt Punkt.

Wie erstelle ich über die ArrayListe den Gesamtpreis?
Das hast Du doch schon gemacht :) Eine Möglichkeit wäre, on-the-fly:
Java:
    public double getGesamtNettopreis()
    {
        double preis = 0d;
        for (Artikel artikel : artikelListe) {
            preis += artikel.getNettopreis();
        }
        return preis;
    }
Die anderen Methoden analog. Die Variablen gesamtNettopreis etc. brauchst Du dann nicht mehr. Statt on-the-fly kannst Du alternativ auch mit Variablen weiterarbeiten und diese bei jeder Änderung anpassen.
 
mihe7

mihe7

Abwarten... Du wirst vermutlich noch auf ein Problem stoßen, bei der Übernahme der Methode in TestWarenkorb :)

Mal ganz allgemein: es hilft manchmal, sich Objekte wie Personen oder andere reale Objekte vorzustellen. Wenn Du Dir einen Einkaufswagen ansiehst, dann fragt Dich der nicht, welchen Artikel Du hineinlegen willst. Du benutzt ihn einfach als Behälter für Deine Artikel. Und genauso das machst Du dann auch im Code; mal auf Deutsch: einkaufswagen.hinzufügen(artikel). Mist, meine Leertaste gibt gerade den Geist auf. Ein Königreich für ein Space :)
 
J

Jaro

Die Übernahme der Methode in den TestWarenkorb hat gut funktioniert.
Ja mit dem objektorientierte Konzept bin ich vertraut. Gestalte mir auch vorher immer brav die Diagramme in UML... ;)

Nur mit der Implementierung da hängt es, da fehlt mir komplett die Praxis...
 
mihe7

mihe7

Gestalte mir auch vorher immer brav die Diagramme in UML... ;)
Mit einem Diagramm drückst Du nur Deine Überlegungen aus. UML hilft in erster Linie bei der Kommunikation mit Dritten und ggf. dabei, den Überblick zu behalten. Viel wichtiger sind die Überlegungen, die zum Diagramm führen. Hier können Use-Cases (oder User Stories) und CRC-Karten hilfreich sein.

Nur mit der Implementierung da hängt es, da fehlt mir komplett die Praxis...
Kommt Zeit, kommt Praxis :)
 
Thema: 

Ausgabe Gesamtpreis

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben