Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln

Diskutiere Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln im Java Basics - Anfänger-Themen Bereich.
J

JustNobody

Schau dir bitte noch einmal an, wie ein switch Statement aussehen müsste ...

Wenn du so Code schreibst: prüf doch selbst, was Compiler und IDE dazu sagen ....
 
C

Codix

Schau dir bitte noch einmal an, wie ein switch Statement aussehen müsste ...

Wenn du so Code schreibst: prüf doch selbst, was Compiler und IDE dazu sagen ....
danke. Ich habe es gerade in IDE korregiert. Der TaRe funkt ! Danke an euch für die tolle Unterstützung, ich wünsche euch viel Erfolg!
 
T

temi

? ja der Code würde auch ohne die Methoden funken
aber so war es in der Aufgabenstellung verlangt: TaRe mit Methoden
Mensch Codix! Das ist doch eine recht einfache Aufgabe. Schau dir den Code aus #57 genau an! Oben wird die Methode deklariert und unten wird sie aufgerufen. Und genau so sollst du es mit den anderen Rechenarten machen. Da ist nichts Geheimnisvolles dabei. Das ist die einfache Adaptierung einer beispielhaft vorgegebenen Lösung auf weitere Probleme dieser Art.
 
C

Codix

Mensch Codix! Das ist doch eine recht einfache Aufgabe. Schau dir den Code aus #57 genau an! Oben wird die Methode deklariert und unten wird sie aufgerufen. Und genau so sollst du es mit den anderen Rechenarten machen. Da ist nichts Geheimnisvolles dabei. Das ist die einfache Adaptierung einer beispielhaft vorgegebenen Lösung auf weitere Probleme dieser Art.
ja genauso habe ich es doch auch gemacht. Oben deklariert und unten aufgerufen. Oder nicht? #60
 
J

JustNobody

Das Beispiel hast du doch schon. Das wäre also zum einen das Definieren der Methode:
Code:
//Klassenmethode potenz, die 2 Parameter ( int basis & int expoWert hat)
public static long potenz(int basis, int expoWert) {
        long result = 1;
        while(expoWert > 0) {
            result *= basis;
            expoWert--;
        }
        return result;
}
Und dann der Aufruf der Methode:
Code:
            case "^":
                System.out.println("Resultat = " + potenz(zahl1, zahl2));
                break;
Methoden hast Du definiert, aber du nutzt diese bisher nicht.
 
C

Codix

und was ist z.B. hiermit?

Definition der Methode:

Code:
public static int summe(int x, int y) {
return (x + y);
}
und dann der Aufruf der Methode:

Code:
case "+":
                System.out.println("Resultat = " +  (zahl1 + zahl2));
                  break;
oder müsste ich noch x & y zusätzlich mit "while" definieren?
 
J

JustNobody

Wo siehst du einen Aufruf der Methode? Wie soll in dem Code die Methode summe aufgerufen werden, wenn da doch gar kein "summe" vor kommt?
 
T

temi

Vergleiche!

public static long potenz(int basis, int expoWert) {

System.out.println("Resultat = " + potenz(zahl1, zahl2));

Wie sieht denn für dich der Aufruf einer Methode aus? Das ist eine ernst gemeinte Frage.
 
C

Codix

Stimmt der Code jetzt? Bitte um eine Antwort. Danke im Voraus.

Code:
import javax.swing.JOptionPane;

public class Taschenrechner {

public static int summe(int x, int y) {
return (x + y);
}

public static int differenz(int x, int y) {
return (x - y);
}

public static int produkt(int x, int y) {
return (x * y);
}

public static int quotientenwert(int x, int y) {
return (x / y);
}

//Klassenmethode potenz, die 2 Parameter ( int basis & int expoWert hat)
public static long potenz(int basis, int expoWert) {
        long result = 1;
        while(expoWert > 0) {
            result *= basis;
            expoWert--;
        }
        return result;
}

public static void main(String[] args) {
        // TODO Automatisch generierter Methodenstub
        int zahl1, zahl2;
        String eingabe;
   
        zahl1 = Integer.parseInt(JOptionPane.showInputDialog("Tippen Sie Ihre erste Zahl ein:"));
        zahl2 = Integer.parseInt(JOptionPane.showInputDialog("Tippen Sie Ihre zweite Zahl ein:"));

        eingabe = JOptionPane.showInputDialog("Tippen Sie das Rechenzeichen ein (+, -, *, /,^):");

switch(eingabe)
        {
            case "+":
                System.out.println("Resultat = " + summe(zahl1 + zahl2, zahl2));
                  break;

            case "-":
                System.out.println("Resultat = " + differenz(zahl1 - zahl2, zahl2));
                  break;

            case "*":
                System.out.println("Resultat = " + produkt(zahl1 * zahl2, zahl2));
                  break;

            case "/":
                System.out.println("Resultat = " + quotientenwert(zahl1 / zahl2, zahl2));
                  break;
 
            case "^":
                System.out.println("Resultat = " + potenz(zahl1, zahl2));
                  break;
        }
        }
      }


}
Kann mir bitte einer deutlich machen, warum ich hier überall zahl2 einfügen musste? Sonst meckert der Compiler.

case "+":
System.out.println("Resultat = " + summe(zahl1 + zahl2, zahl2));
break;

case "-":
System.out.println("Resultat = " + differenz(zahl1 - zahl2, zahl2));
break;

case "*":
System.out.println("Resultat = " + produkt(zahl1 * zahl2, zahl2));
break;

case "/":
System.out.println("Resultat = " + quotientenwert(zahl1 / zahl2, zahl2));
break;
 
Zuletzt bearbeitet:
T

temi

Hier mal drei Beispielmethoden (der Code ist egal)
Java:
int getValue() {
    //.. code
}

int add(int value1, int value2) {
    //.. code
}

void doSomething(String text, int intVal) {
    //.. code
}
Zeig mir mal, wie die Aufrufe dazu aussehen könnten!
 
Thema: 

Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben