2 Zahlen einlesen Grundrechenarten

Hallo, es geht um folgende Aufgabe:
Schreiben Sie eine Applikation, die zwei Zahlen einliest. Diese beiden
Zahlen sollen in den Grundrechenarten „verarbeitet“ werden. Welche
Grundrechenart verwendet soll, soll ebenfalls abgefragt werden. Verwenden
Sie switch - case, um die Zahlen entsprechend der gewählten Grundrechenart
zu „verarbeiten“. Geben Sie das jeweilige Ergebnis aus. Wählen Sie für Ihre
Applikation geeignete Datentypen aus.
Ich habe das Programm fast fertig, jedoch weiß ich nicht wie ich das Ergebnis ausgeben kann, trotz der switch-case Anweisung.

public class Main {

public static void main(String[] args) throws IOException{

int zahl1;
int zahl2;
String eingabe1;
String eingabe2;
char operator;

eingabe1 = JOptionPane.showInputDialog(null,„Geben Sie die 1. Zahl ein“);
zahl1 = Integer.parseInt(eingabe1);
eingabe2 = JOptionPane.showInputDialog(null,„Geben Sie die 2. Zahl ein“);
zahl2 = Integer.parseInt(eingabe1);
operator = JOptionPane.showInputDialog(null,„Geben Sie den zu verwendenen Operator ein“).charAt(0);
zahl1 = Integer.parseInt(eingabe1);

switch ( operator )
{
case ‚+‘:
System.out.println(zahl1+zahl2);
break;
case ‚-‘:
System.out.println(zahl1-zahl2);
break;
case ‚*‘:
System.out.println(zahl1*zahl2);
break;
case ‚/‘:
System.out.println(zahl1/zahl2);
break;
}

}}

Moin,
das Programm sieht doch schon fast fertig aus. Allerdings sind ein paar Kleinigkeiten falsch.

  1. „Wählen Sie für Ihre
    Applikation geeignete Datentypen aus“: Sie sollten nochmal genau überlegen welche Datentypen Sie verwenden und ob diese bei den Rechnungen ausreichen. Tipp: versuchen sie mal als erste Zahl 0.5 oder als zweite 0 mit ‚*‘ oder ‚/‘.

  2. Schauen Sie sich nochmal diese Zeile an:
    zahl2 = Integer.parseInt(eingabe1);

  3. Wozu wiederholen Sie folgende Zeile:
    zahl1 = Integer.parseInt(eingabe1);

  4. Nun zu Ihrem eigentlichen Problem („jedoch weiß ich nicht wie ich das Ergebnis ausgeben kann, trotz der switch-case Anweisung“). Aber Sie geben doch das Ergebnis mit „System.out.println“ aus. Wo ist das Problem? Steht in der Aufgabe, dass es eine GUI sein muss? Wenn ja warum verwenden Sie nicht einfach wieder ein JOptionPane?

Beispiel: JOptionPane.showMessageDialog (
null, „This is a sample program“ );

MFG

Erstmal danke für die schnelle Antwort.
Jedoch weiß ich nicht was ich an stelle deines ‚this is a sample Program‘ schreiben muss, damit er das entsprechende Ergebnis ausgibt.
Die anderen Tips habe ich soweit umgesetzt:

public class Main {

public static void main(String[] args) throws IOException{

double zahl1;
double zahl2;
String eingabe1;
String eingabe2;
char operator;

eingabe1 = JOptionPane.showInputDialog(null,„Geben Sie die 1. Zahl ein“);
zahl1 = Integer.parseInt(eingabe1);
eingabe2 = JOptionPane.showInputDialog(null,„Geben Sie die 2. Zahl ein“);
zahl2 = Integer.parseInt(eingabe2);
operator = JOptionPane.showInputDialog(null,„Geben Sie den zu verwendenen Operator ein“).charAt(0);
zahl1 = Integer.parseInt(eingabe1);

switch ( operator )
{
case ‚+‘:
System.out.println(zahl1+zahl2);
break;
case ‚-‘:
System.out.println(zahl1-zahl2);
break;
case ‚*‘:
System.out.println(zahl1*zahl2);
break;
case ‚/‘:
System.out.println(zahl1/zahl2);
break;
}

}}

Genau wie System.out.println:

JOptionPane.showMessageDialog (
null, zahl1+zahl2 );

Ja, bloß stellt sich mir die Frage in welche Variable ich das packen soll. also;
variable 1 = JOptionPane.showMessageDialog(zahl1+zahl2);
variable 2 = JOptionPane.showMessageDialog(zahl1-zahl2);
variable 3 = JOptionPane.showMessageDialog(zahl1*zahl2);
variable 4 = JOptionPane.showMessageDialog(zahl1/zahl2);

Hallo Mathematikus20,

„zahl1 = Integer.parseInt(eingabe1);“ kannst Du Dir einmal ersparen.

„zahl2 = Integer.parseInt(eingabe1);“ sollte vielmehr heißen: „zahl2 = Integer.parseInt(eingabe2);“, Du möchtest ja die zweite Eingabe verarbeiten.

Des weiteren fängst Du keinerelei Fehleingaben des Benutzers ab. Bei switch - Anweisungen sollte am Ende immer eine default - Anweisung ausgeführt werden, wenn eine unerwartete Eingabe gemacht wurde.

Grundsätzlich würden Angaben zur Sprachversion, verwendete Entwicklungsumgebung o.ä. helfen.

Melde Dich bitte ruhig wieder, wenn Du noch nicht klarkommst.

Hallo, ich fürchte ich erkenne dein Problem nicht wirklich…

Ich würde die switch Anweisung anders formulieren. Und zwar mithilfe einer weiteren „Ergebnis“-Variablen.

also:

long ergebnis;

switch(operator){
case ‚+‘: ergebnis=zahl1+zahl2; break;
case ‚-‘: ergebnis=zahl1-zahl2; break;


}
System.out.println(ergebnis);

gLg
Sandro

Hallo, wenn auch ein bisschen (zu) spät. (Hab die Email leider übersehen :confused: )

Zu deinem Problem: Scheinbar bekommst du deine Eingabedaten ja aus einer graphischen Oberfläche. Auf dieser Oberfläche müsstest du jetzt noch ein neues Textfeld. (jTextField oder jTextArea)

In deiner Main-Klasse kannst du jetzt, wo du momentan auf die Konsole schreibst (System.out.println…), dieses Textfeld ansprechen und das Ergebnis dorthin schreiben.
Also:
jTextField1.setText(ergebnis);

Ich hoffe das nützt jetzt zumindest irgendjemandem noch.