Veröffentlicht 15. Juni 201114 j 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
15. Juni 201114 j 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.
15. Juni 201114 j Autor 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??
15. Juni 201114 j 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?
15. Juni 201114 j Autor 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.
15. Juni 201114 j Autor 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
15. Juni 201114 j 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.
15. Juni 201114 j Autor 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
15. Juni 201114 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.