Variable wird falsch gesetzt

syntaggs

Mitglied
Über TextField Eingelesene Variable "i" ist nicht gleich 0, sondern immer anzahlNoten-1.

Eingelesen werden soll die Anzahl der Noten, das ist dann die Arraylänge etc.

egal was ich versuche, bei der Ausgabe x. Note wird immer anzahlNoten-1 gesetzt - nicht

wie in der for-Schleife definiert 0, bzw. wie ich es im Falle einer funktionierenden Ausgabe gesetzt hätte i+1...

habe ich etwas übersehen :-(?

wäre dankbar für jede Hilfe!

hier der Code meines ActionListeners 🙂
Java:
import java.awt.event.*;

public class myActionListener implements ActionListener {
    
 intanzahlNoten;
 public Eingabefeld eF;
 
 public myActionListener(Eingabefeld eF) {
  this.eF = eF;
 }
 
 @Override
 public void actionPerformed(ActionEvent e) {
  Object obj = e.getSource();
  if (obj == eF.btnBerechnen) {
   anzahlNoten = Integer.parseInt(eF.tfNoten.getText());
   doublenotenWerte[] = newdouble[anzahlNoten];
   for (int i = 0; i < anzahlNoten; i++) {
    eF.lblNotenZaehler.setText(Integer.toString(i) + ". Note: ");
   }
  }
 }
}
 
Zuletzt bearbeitet von einem Moderator:
Also, deine Fragestellung ist für mich kaum zu verstehen. Irgendwie scheint die for-Schleife nicht das zu tun, was du erwartest, deshalb ein Beispiel, was in der Schleife passiert:
Angenommen du hast eine drei eingegeben, dann durchläuft die Variable i die Werte von 0 bis 2. Es gibt also drei Iterationen. Dementsprechend wird der Text von eF.lblNotenZaehler zunächst auf "0. Note: " gesetzt, dann mit "1. Note: " überschrieben und schließlich nochmals mit dem endgültigen Wert "2. Note: " überschrieben.
 
Ok dann versuch ichs nochma. 🙂

Ausgabe: Wieviele Noten? --> Eingabe eines Integer-Wertes, der in anzahlNoten eingespeichert wird.

anzahlNoten entspricht meine Arraygröße, wg. double notenWerte[]=new double[anzahlNoten]


in der for-Schleife soll gefragt werden (i+1(+". Note") - aber - und jetzt kommt die Frage - anstatt wie definiert bei int i=0 zu beginnen, startet die Variable i immer einen Wert unter anzahlNoten.

sprich, wenn eingegeben ist Wieviele Noten? --> 5

Dann kommt als Ausgabe "4. Note" - und daran verweifle ich :-I(
 
Du überschreibst in der for-Schleife die "alten" Ergebnisse. Dein Label zeigt somit nur den letzten Durchlauf deiner for-Schleife an, und da ist i nunmal (anzahlNoten - 1).
 
Zuletzt bearbeitet:

Zurück
Oben