gesamte Ausgabe in Fenster



  • Ich habe in ner Schleife ne Methode gepackt.

    for (int i = 0; i < 5; i++)
                                            {
                                                    lager[i].Rechnung();
                                            }
    

    Jetzt lass ich das in der Methode ausgeben in ein Fenster:

    void Rechnung()
            {
                    double Netto, Brutto;
    
                    Netto = EK_Preis * (Gewinn_Prozent / 100 + 1);
                    Brutto = Netto * (Konstanten.MWST / 100 + 1);
    
                    JOptionPane.showMessageDialog (null, "Preis f\u00fcr " + Bezeichnung + ": (Netto) " + Netto +
                                    "\t(Brutto) " + Brutto, "Rechnung", JOptionPane.INFORMATION_MESSAGE);
            }
    

    Aber jetzt krieg ich für jeden Schleifendurchlauf ein Fenster aufgeklappt.
    Wie kann ich die ganzen Arrayelemente in ein Fenster bringen ?



  • Z.B. so:

    while(bla){
    String gesamt += array[i];
    }
    
    JOptionPane.showMessageDialog(this, gesamt);
    

    Liebe Grüße
    Reality



  • Hm, die Schleife steht außerhalb der Methode.
    Die Methode soll ja die Werte ausgeben...



  • Überleg mal, du musst nur ein paar Sachen umstellen.
    Mach es am Besten so, dass du die Methode nur eimal aufrufst.

    Liebe Grüße
    Real



  • Also ich habs nochmal versucht, aber ich komm nicht drauf, wie du das meinst.
    Wenn ich die Methode nur einmal aufrufe, muss ich doch irgendwie den Array der Klasse übergeben?
    Ich kann doch nicht nur Rechnung() aufrufen...
    Und den Array hab ich doch schon in der main-Klasse erzeugt.



  • Hi,
    sorry, habe irgendwie nicht mitgekriegt, dass das Objekte sind. 🙄

    //globale Variavle
    static String gesamt = "";
    
    for (int i = 0; i < 5; i++)
      {
        lager[i].Rechnung();
      }
    
    JOptionPane.showMessageDialog (null, gesamt, "Rechnung", JOptionPane.INFORMATION_MESSAGE);                                        }
    
    void Rechnung()
            {
                    double Netto, Brutto;
    
                    Netto = EK_Preis * (Gewinn_Prozent / 100 + 1);
                    Brutto = Netto * (Konstanten.MWST / 100 + 1);
    
                    gesamt += "Preis f\u00fcr " + Bezeichnung + ": (Netto) " + Netto + "\t(Brutto) " + Brutto
    
            }
    

    Es könnten sich bei dem Code ein paar Fehler eingeschlichen haben, aber das Prinzip dürfte klar sein.

    Liebe Grüße
    Real


Anmelden zum Antworten