2 Zahlen einlesen Grundrechenarten

Von: , 12.08.2010 23:19 Uhr


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;
}

}}

5 Antworten zu dieser Frage

  1. Antwort von - abgemeldetes Mitglied - nach 15 Minuten 0 hilfreich
    Re: 2 Zahlen einlesen Grundrechenarten

    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

    • Antwort von nach 24 Minuten 0 hilfreich
      Re^2: 2 Zahlen einlesen Grundrechenarten

      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;
      }

      }}

      • Antwort von - abgemeldetes Mitglied - nach 11 Stunden 0 hilfreich
        Re^3: 2 Zahlen einlesen Grundrechenarten

        Genau wie System.out.println:

        JOptionPane.showMessageDialog (
        null, zahl1+zahl2 );

        • Antwort von nach 12 Stunden 0 hilfreich
          Re^4: 2 Zahlen einlesen Grundrechenarten

          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);

  2. Antwort von nach 37 Tagen 0 hilfreich
    Re: 2 Zahlen einlesen Grundrechenarten

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

    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.

    Jetzt auf diese Frage antworten.