Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

  • 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??

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?

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

  • 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

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.

  • 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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.