R
Rumpel1984
Neues Mitglied
- 0
Hallo Leute,
ich lerne gerade Java und komme an einer Stelle einfach nicht weiter. Der folgende Code beschreibt ein Programm zur Berechnung von Noten. Dabei werden die eingegebenen Noten in einem Array gespeichert. Zur Kontrolle wird in einem JLabel dann der Inhalt des Array ausgegeben. Wenn ihr das Programm jedoch so ausführt, werdet ihr nach der Übernahme der eingegebenen Notenzahl nur eine Ausgabe bekommen, bei der die ersten Array-Einträge 0.0 sind.
Wieso gibt er mir nicht den Inhalt meines Arrays aus? -> Die entscheidenden Codezeilen sind wohl ab Zeile 180.
Vielen Dank, falls ihr helfen könnt.
Gruß Jan
--------------------------------
ich lerne gerade Java und komme an einer Stelle einfach nicht weiter. Der folgende Code beschreibt ein Programm zur Berechnung von Noten. Dabei werden die eingegebenen Noten in einem Array gespeichert. Zur Kontrolle wird in einem JLabel dann der Inhalt des Array ausgegeben. Wenn ihr das Programm jedoch so ausführt, werdet ihr nach der Übernahme der eingegebenen Notenzahl nur eine Ausgabe bekommen, bei der die ersten Array-Einträge 0.0 sind.
Wieso gibt er mir nicht den Inhalt meines Arrays aus? -> Die entscheidenden Codezeilen sind wohl ab Zeile 180.
Vielen Dank, falls ihr helfen könnt.
Gruß Jan
--------------------------------
Code:
package gui11;
import java.text.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
public class Notenbilanz extends javax.swing.JFrame {
private JLabel jLabel1;
private JButton jBtnAnzahlUebernehmen;
private JLabel jLNote;
private JButton jBtnNoteUebernehmen;
private JLabel jLNotenschnitt;
private JLabel jLSchlechtesteNote;
private JButton jBtnEnde;
private JButton jBtnNeu;
private JLabel jLNotenzahl;
private JLabel jLBesteNote;
private JTextField jTFNote;
private JTextField jTFNotenzahl;
private JLabel jLNoten;
public DecimalFormat fzahl;
public int notenzahl, i;
public double summe, besteNote, schlechtesteNote, notenschnitt;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Notenbilanz inst = new Notenbilanz();
inst.setLocationRelativeTo(null);
inst.setTitle("Notenliste");
inst.setVisible(true);
}
});
}
public Notenbilanz() {
super();
initGUI();
}
private void initGUI() {
try {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);
this.setPreferredSize(new java.awt.Dimension(408, 253));
this.setTitle("Notenbilanz");
{
fzahl = new DecimalFormat("###,##0.00");
}
{
jLabel1 = new JLabel();
getContentPane().add(jLabel1);
jLabel1.setText("Anzahl Noten");
jLabel1.setBounds(6, 7, 89, 15);
}
{
jTFNotenzahl = new JTextField();
getContentPane().add(jTFNotenzahl);
jTFNotenzahl.setBounds(6, 28, 41, 21);
}
{
jBtnAnzahlUebernehmen = new JButton();
getContentPane().add(jBtnAnzahlUebernehmen);
jBtnAnzahlUebernehmen.setText("Übernehmen");
jBtnAnzahlUebernehmen.setBounds(73, 28, 142, 21);
jBtnAnzahlUebernehmen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBtnAnzahlUebernehmenActionPerformed(evt);
}
});
}
{
jLNote = new JLabel();
getContentPane().add(jLNote);
jLNote.setText("1.Note");
jLNote.setBounds(6, 67, 47, 14);
jLNote.setVisible(false);
}
{
jTFNote = new JTextField();
getContentPane().add(jTFNote);
jTFNote.setBounds(6, 87, 41, 21);
jTFNote.setVisible(false);
}
{
jBtnNoteUebernehmen = new JButton();
getContentPane().add(jBtnNoteUebernehmen);
jBtnNoteUebernehmen.setText("Übernehmen");
jBtnNoteUebernehmen.setBounds(73, 87, 142, 21);
jBtnNoteUebernehmen.setVisible(false);
jBtnNoteUebernehmen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBtnNoteUebernehmenActionPerformed(evt);
}
});
}
{
jLBesteNote = new JLabel();
getContentPane().add(jLBesteNote);
jLBesteNote.setBounds(6, 163, 365, 19);
}
{
jLNotenschnitt = new JLabel();
getContentPane().add(jLNotenschnitt);
jLNotenschnitt.setBounds(6, 138, 365, 19);
}
{
jLSchlechtesteNote = new JLabel();
getContentPane().add(jLSchlechtesteNote);
jLSchlechtesteNote.setBounds(6, 188, 365, 19);
}
{
jLNoten = new JLabel();
getContentPane().add(jLNoten);
jLNoten.setBounds(6, 213, 550, 19);
jLNoten.setVisible(true);
}
{
jLNotenzahl = new JLabel();
getContentPane().add(jLNotenzahl);
jLNotenzahl.setBounds(6, 118, 374, 14);
}
{
jBtnNeu = new JButton();
getContentPane().add(jBtnNeu);
jBtnNeu.setText("Neue Berechnung");
jBtnNeu.setBounds(240, 28, 140, 21);
jBtnNeu.setVisible(false);
jBtnNeu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBtnNeuActionPerformed(evt);
}
});
}
{
jBtnEnde = new JButton();
getContentPane().add(jBtnEnde);
jBtnEnde.setText("Ende");
jBtnEnde.setBounds(279, 188, 94, 21);
jBtnEnde.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBtnEndeActionPerformed(evt);
}
});
}
pack();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jBtnAnzahlUebernehmenActionPerformed(ActionEvent evt) {
if (!jTFNotenzahl.getText().equals("")) {
notenzahl = Integer.parseInt(jTFNotenzahl.getText());
i = 1;
summe = 0;
besteNote = 6;
schlechtesteNote = 0;
jBtnAnzahlUebernehmen.setVisible(false);
jTFNotenzahl.setEditable(false);
jLNote.setVisible(true);
jTFNote.setVisible(true);
jBtnNoteUebernehmen.setVisible(true);
jTFNote.requestFocus();
} else {
JOptionPane.showMessageDialog(null, "Anzahl der Noten eingeben!");
jTFNotenzahl.requestFocus();
}
}
private void jBtnNoteUebernehmenActionPerformed(ActionEvent evt) {
if (!jTFNote.getText().equals("")
&& Double.parseDouble(jTFNote.getText()) >= 1
&& Double.parseDouble(jTFNote.getText()) <= 6) {
System.out.println(i);
System.out.println(notenzahl);
summe = summe + Double.parseDouble(jTFNote.getText());
Double [] noten = new Double [notenzahl];
noten[i-1]=Double.parseDouble(jTFNote.getText());
notenschnitt = summe / i;
jLNotenschnitt.setText("Notenschnitt: "
+ fzahl.format(notenschnitt));
jLNotenzahl.setText("Anzahl eingegebene Noten: "
+ Integer.toString(i));
if (Double.parseDouble(jTFNote.getText()) > schlechtesteNote) {
schlechtesteNote = Double.parseDouble(jTFNote.getText());
jLSchlechtesteNote.setText("schlechteste Note: "
+ Double.toString(schlechtesteNote));
}
if (Double.parseDouble(jTFNote.getText()) < besteNote) {
besteNote = Double.parseDouble(jTFNote.getText());
jLBesteNote
.setText("beste Note: " + Double.toString(besteNote));
}
if (i == notenzahl) {
notenschnitt = summe / notenzahl;
jBtnNoteUebernehmen.setVisible(false);
jBtnNeu.setVisible(true);
jLNoten.setText("Noten: ");
for(int i=0;i<noten.length;i++){
jLNoten.setText(jLNoten.getText()+ " " + noten[i]);
System.out.println(noten[i]);
}
} else {
i++;
jLNote.setText(Integer.toString(i) + ".Note");
jTFNote.setText("");
jTFNote.requestFocus();
}
} else {
JOptionPane.showMessageDialog(null, "gültige Note eingeben!");
jTFNote.requestFocus();
}
}
private void jBtnNeuActionPerformed(ActionEvent evt) {
i = 1;
jLNote.setText(Integer.toString(i) + ".Note");
summe = 0;
besteNote = 6;
schlechtesteNote = 0;
jBtnAnzahlUebernehmen.setVisible(true);
jTFNotenzahl.setEditable(true);
jLNote.setVisible(false);
jTFNote.setVisible(false);
jTFNote.setText("");
jBtnNoteUebernehmen.setVisible(false);
jTFNotenzahl.setText("");
jTFNotenzahl.requestFocus();
jLNotenschnitt.setText("");
jLBesteNote.setText("");
jLSchlechtesteNote.setText("");
jLNotenzahl.setText("");
jBtnNeu.setVisible(false);
}
private void jBtnEndeActionPerformed(ActionEvent evt) {
System.exit(0);
}
}
Zuletzt bearbeitet von einem Moderator: