Benney Geschrieben 15. Juni 2011 Geschrieben 15. Juni 2011 Hallo, hab eine kurze Frage unzwar, in die Jlist werden Werte hinzugefügt indem man den hinzufügen button drückt. jetzt hab ich folgendes Problem unzwar. wie addiere ich die Werte in der Jlist?? wenn ich den MIttelwert errechnen will?? DAnke Zitieren
Dragon8 Geschrieben 15. Juni 2011 Geschrieben 15. Juni 2011 In dem du dir über das Model der JList alle Werte holst und daraus entsprechend den Mittelwert ausrechnest. Das Model bekommst du von deiner JList Klasse über die Methode getModel(). Und das Model kennt dann die Methoden getSize() für die Anzahl der Elemente und getElementAt(int) um dir Elemente zurückzugeben. Zitieren
Benney Geschrieben 15. Juni 2011 Autor Geschrieben 15. Juni 2011 Ja schon aber muss ich dann die DAten in Dynamische Felder speichern?? weil wie du schon sagst mit getElementAt(int) bekomm ich den Wert zurück aber ich versteh nicht ganz wie du das meinst. ich muss ja eine variable deklarieren wo jedes mal wenn ich den hinzufügen button drück der eingegebene wert addiert wird oder steh ich komplett auf dem Schlauch jetzt?? Zitieren
Benney Geschrieben 15. Juni 2011 Autor Geschrieben 15. Juni 2011 Was ich vergessen hab. ich arbeite mit dem Default list model Zitieren
Benney Geschrieben 15. Juni 2011 Autor Geschrieben 15. Juni 2011 KÖnntest du bitte ein Beispiel machen? Zitieren
Dragon8 Geschrieben 15. Juni 2011 Geschrieben 15. Juni 2011 Naja laut deiner Aussage werden bei dir Werte zu der JList hinzugefügt in dem du einen Button drückst. Das heißt für mich, die Daten sind in der JList vorhanden, wenn du also dementsprechend irgendwie den Mittelwert ausrechnen willst, brauchst du die Daten nicht irgendwo zwischenspeichern, weil sie ja schon im Model der JList gespeichert sind. Du kannst dir natürlich auch, um mit jedem Hinzufügen das Abarbeiten der gesamten JList zu sparen, auch eine Summe der gesamten Werte der JList extra speichern und mit jedem Hinzufügen den aktuellen Wert drauf addieren. Das musst du dann natürlich in einer eigenen Variablen machen. Naja, was hast du denn bisher an Quelltext geschrieben? Zitieren
Benney Geschrieben 15. Juni 2011 Autor Geschrieben 15. Juni 2011 also beim Hinzufügenbutton hab ich als quelltext: double zahl; String text = eingabebereich.getText(); zahl = Double.parseDouble(text); daten.addElement(zahl); eingabebereich.setText(""); jetz hab ich noch a variable zahl als double deklariert stimmt des ?? brauch ich das weil ich hab mir gedacht dadurch das ich Zahlen möchte und ja jede eingabe als Buchstaben angesehen werden?? ja und das hab ich noch public class Hauptfenster extends javax.swing.JFrame { DefaultListModel daten = new DefaultListModel(); public Hauptfenster() { initComponents(); liste.setModel(daten); } aber wie nehm ich die DAten aus der Jlist her?? wie mach ich des dann des mit den Mittelwert?? kannst du bitte ein Beispiel machen?? Danke für die Hilfe. Zitieren
Benney Geschrieben 15. Juni 2011 Autor Geschrieben 15. Juni 2011 Ahh ich glaub ich habs hinbekommen =)))) kann des so stimmen?? Hab jetzt einen extra button mit Rechne gemacht double summe = 0; double mittelwert =0; for (int i =0; i < daten.getSize(); i++) { summe = summe + (double) liste.getModel().getElementAt(i); mittelwert = summe /daten.getSize(); } System.out.println(mittelwert); } Danke für die HIlfe Zitieren
Dragon8 Geschrieben 15. Juni 2011 Geschrieben 15. Juni 2011 Ja, das sieht doch nach dem aus, was du haben wolltest. Denk aber daran, dass bei deinem Einlesen der Zahl aus dem Textfeld die parseDouble(String) Methode eine Exception wirft, wenn ihr ein String übergeben wird, der keinem Double Wert entspricht. Zitieren
Benney Geschrieben 15. Juni 2011 Autor Geschrieben 15. Juni 2011 Also erstmal Danke für deine Hilfe =) bin grad noch in der Ausbildung haben das Thema mit Exception noch nicht durchgenommen aber ich weiß das es sich um eine Ausnahmebehandlung handelt. also wenns kein Double ist.. aber wie kann ich es dann sonst machen??? Danke Zitieren
Dragon8 Geschrieben 15. Juni 2011 Geschrieben 15. Juni 2011 Es ist so schon ganz richtig, ich wollte dich nur drauf hinweisen, dass wenn jetzt jemand einen Wert in das Textfeld eingibt, was kein Double Wert ist, das Programm mit einer Exception abbricht. Wenn ihr das aber noch behandelt, kannst du das ja berichtigen sobald ihr das hattet. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.