Brüche addieren in Zwei Klassen mit JOptionPane

Eileen

Mitglied
Hallo,

Es ist mir schon etwas peinlich das hier zu fragen aber ich komme so absolut nicht weiter und meine Kenntnisse reichen einfach nicht aus um diese Aufgabe zu beenden 🙁 Ihr merkt sicherlich das mir komplette Grundkenntnisse fehlen aber naja daran wird gearbeitet! Also die Aufgabe ist folgende: Ich soll zwei Klassen erstellen und zwei Brüche miteinander addieren das ganze soll mit zwei Zahlenpaaren funktionieren die als Brüche interpretiert werden... Mit einem Scanner würde es mir leichter fallen aber leider sollen wir mit JoptionPane arbeiten:

Java:
package ggtKgv;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class UI {

	/**
	 * @param args
	 */

	public static void main(String[] args) {
		while (true) {
			String[] userData = getData_Dialog();
			if (userData == null)
				break;
			int z1 = Integer.parseInt(userData[0]);
			int n1 = Integer.parseInt(userData[1]);
			int z2 = Integer.parseInt(userData[2]);
			int n2 = Integer.parseInt(userData[3]);
			JOptionPane.showMessageDialog(null,
					"Summe: " + Rechnen.bruchAddition(z1, n1, z2, n2));
		}
		JOptionPane.showMessageDialog(null, "Danke und auf Wiedersehen!");
	}

	private static String[] getData_Dialog() {
		JTextField z1TF = new JTextField();
		JTextField n1TF = new JTextField();
		JTextField z2TF = new JTextField();
		JTextField n2TF = new JTextField();
		Object[] message = { "Zaehler 1", z1TF, "Nenner 1", n1TF, "Zaehler 2",
				z2TF, "Nenner 2", n2TF };
		Object[] options = { "Addition", "Abbruch" };
		int n = JOptionPane.showOptionDialog(new JFrame(), message,
				"Brueche Addieren", JOptionPane.YES_NO_OPTION,
				JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
		if (n == JOptionPane.OK_OPTION) { // Zustimmung
			return new String[] { z1TF.getText(), n1TF.getText(),
					z2TF.getText(), n2TF.getText() };
		} else if (n == JOptionPane.NO_OPTION // Verneinung
				|| n == JOptionPane.CLOSED_OPTION) { // Dialogfenster
														// geschlossen
			return null;
		} else {
			return null;
		}
	}

}


und die zweite Klasse ist:

Java:
package ggtKgv;

import javax.swing.JOptionPane;

public class Rechnen {


	public static String bruchAddition(int z1, int n1, int z2, int n2){
	

		int ergZaehler;
		int ergNenner;
		

		ergZaehler = z1 * n2 + n1 * z2;
		ergNenner = n1 * n2;
		
		
		JOptionPane.showMessageDialog(null,"Ergebnis:  " + ergZaehler + "/" + ergNenner);
	
				
	
	}

}

Über nur wenige Denkansätze wäre ich schon sehr Dankbar!!
 
Was hat das Problem mit Scanner oder JOptionPane zu tun? Die Werte über den Dialog kannst Du ja einlesen?

"Problem" ist Deine bruchAddition Methode.
Entweder Du machst die Methode void und zeigst da die JOptionPane an oder Du musst einen String zurückgeben und diesen in der main ausgeben.
 
Ein Schritt nach dem anderen. z.B:
Erst einmal nur Werte einlesen und unmittelbar wieder - per System.out - ausgeben.
Wenn das passt, dann erst zum nächsten Schritt. z.B:
Werte verarbeiten und Ergebnis - per System.out - ausgeben
...
Wenn man eine IDE zum Programmieren verwendet, kann man natürlich auch debuggen.
 
okay danke ich versuchs jetzt einfach nochmal schritt für schritt und hoffentlich komm ich dann auf ein richtiges ergebnis =)
 

Zurück
Oben