Ausgabe Gesamtpreis

Jaro

Mitglied
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:
X

Xyz1

Gast
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");
	}
}
 

Jaro

Mitglied
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;
    }
}
 

mihe7

Top Contributor
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.
 
X

Xyz1

Gast
@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)!
 

Jaro

Mitglied
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:

Jaro

Mitglied
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;
    
    }
 

Jaro

Mitglied
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...
 

Jaro

Mitglied
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");   
          
          
    }
}
 

temi

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

Xyz1

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

Jaro

Mitglied
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;
 

Jaro

Mitglied
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
 
X

Xyz1

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

Jaro

Mitglied
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
 

Jaro

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

habs verbessert
 

temi

Top Contributor
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

Top Contributor
@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.
 

Jaro

Mitglied
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....
 

Jaro

Mitglied
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]
 

Jaro

Mitglied
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

Top Contributor
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

Top Contributor
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 :)
 

Jaro

Mitglied
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

Top Contributor
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 :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
U Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft Java Basics - Anfänger-Themen 3
Jackii ArrayList ausgabe ohne Dopplung Java Basics - Anfänger-Themen 11
F Erste Schritte Subnet Calculator - Ausgabe der NetID und der Broadcast Java Basics - Anfänger-Themen 4
D Wiederholende Ausgabe Java Basics - Anfänger-Themen 3
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
A Datei Ein und Ausgabe FileWriter und printWriter Java Basics - Anfänger-Themen 5
S Doppel For Schleife mit Arrays - Problem bei der Ausgabe Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben