Java :: Aufgabe #3 :: Lösung #18

22 Lösungen Lösungen öffentlich
#3

Quersumme berechnen und ausgeben

Anfänger - Java von Gustl - 12.08.2012 um 14:49 Uhr
Schreiben sie ein Konsolenprogramm, das eine int-zahl > 0 und < 10000 einliest,
ihre Quersumme berechnet und das Ergebnis wie folgt ausgibt:

Konsolenausgabe:

Zahl eingeben (0-10000): 3698
Quersumme: 3 + 6 + 9 + 8 = 26
#18
vote_ok
von kollar (340 Punkte) - 08.12.2019 um 07:27 Uhr
Quellcode ausblenden Java-Code
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Quersumme {
	public static void main(String[] args) {
		FrQuersumme frq = new FrQuersumme("Quersumme berechnen");
	}
}

class FrQuersumme extends JFrame implements ActionListener {

	JLabel lblWBereich = new JLabel("Der gültige Wertebereich liegt zwischen 0 - 10000");
	JLabel lblEingabe = new JLabel("Zahl eingeben: ");
	JTextField tfEingabe = new JTextField(12);
	JLabel lblAusgabe = new JLabel("Quersumme: ");
	JTextField tfAusgabe = new JTextField(12);

	JPanel pEingabe = new JPanel();
	JPanel pAusgabe = new JPanel();

	FrQuersumme(String titel) {
		super(titel);
		setVisible(true);
		setSize(350, 300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setLayout(new FlowLayout(FlowLayout.RIGHT, 25, 25));

		tfEingabe.setHorizontalAlignment(JTextField.RIGHT);
		tfEingabe.addActionListener(this);
		tfAusgabe.setHorizontalAlignment(JTextField.RIGHT);
		tfAusgabe.setEditable(false);

		pEingabe.add(lblEingabe);
		pEingabe.add(tfEingabe);
		pAusgabe.add(lblAusgabe);
		pAusgabe.add(tfAusgabe);

		add(lblWBereich);
		add(pEingabe);
		add(pAusgabe);
	}

	public void berechneQuersumme(String sEingabe) {

		try {
			int iEingabe = Integer.parseInt(sEingabe);

			if (0 < iEingabe && iEingabe < 10001) {
				int[] aZahlen = new int[sEingabe.length()];
				int summe = 0;
				StringBuilder sbErgebnis = new StringBuilder();

				for (int i = 0; i < sEingabe.length(); i++) {
					aZahlen[i] = Integer.parseInt(sEingabe.substring(i, i + 1));
					sbErgebnis.append(aZahlen[i]);
					if (i < (sEingabe.length() - 1)) {
						sbErgebnis.append("+");
					}

					summe = summe + aZahlen[i];

				}

				sbErgebnis.append("=" + summe);
				tfAusgabe.setText(sbErgebnis.toString());
			} else {
				tfAusgabe.setText("kein gültige Zahl");
			}
		}

		catch (NumberFormatException e) {
			tfAusgabe.setText("Bitte Ganzzahl eingeben!");
		}
	}

	@Override
	public void actionPerformed(ActionEvent evt) {

		berechneQuersumme(tfEingabe.getText());

	}

}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben