# Einfacher Taschenrechner



## fenstergummi (19. Jul 2016)

Hi, 

folgender Code wird bemängelt.
Erstellen Sie für das Berechnen der Potenz eine eigene Methode. Die Potenz soll durch eine Schleife berechnet werden.


```
/*#######################
Taschenrechner
 
#######################*/

import javax.swing.*;

public class Taschenrechner
{
    //Methode festlegen
    public static long meinPotenzieren(int z1, int z2)
    {
        long result = 1;
        while(z2 > 0)
        {
            result *= z1;
            z2--;
        }
        return result;
    }
   
    public static void main(String[] args)
    {
   
        //Festlegen der Variablen
        int zahl1, zahl2;
        String eingabe;
        //Einlesen der Werte
        zahl1 = Integer.parseInt(JOptionPane.showInputDialog("Bitte geben Sie die erste Zahl ein:"));
        zahl2 = Integer.parseInt(JOptionPane.showInputDialog("Bitte geben Sie die zweite Zahl ein:"));
        //Einlesen der Rechenoperation
        eingabe = JOptionPane.showInputDialog("Geben Sie die gewünschte Operation ein (+, -, *, /, ^):");
        //Auswertung
        switch(eingabe)
        {
            case "+":
            System.out.println("Das Ergebnis = " + (zahl1 + zahl2));
            break;
            case "-":
            System.out.println("Das Ergebnis = " + (zahl1 - zahl2));
            break;
    
            case "*":
            System.out.println("Das Ergebnis = " + (zahl1 * zahl2));
            break;
    
            case "/":
            System.out.println("Das Ergebnis = " + (zahl1 / zahl2));
            break;
            case "^":
            System.out.println("Das Ergebnis = " + meinPotenzieren(zahl1, zahl2));
            break;
       
           
        }
       
       
    }

}
```

Wo genau ist denn hier mein Fehler?


----------



## kiwara (19. Jul 2016)

Was machst du wenn der User 5^-3 eingibt?


----------



## Joose (19. Jul 2016)

@kiwara das sollte ja kein Problem sein. Es werden zuerst die beiden Zahlen eingegeben und dann die entsprechende "Operation".

EDIT: ach erst jetzt kapiert was dir daran nicht passt 

@fenstergummi Du weißt anscheinend das etwas bemängelt wird sagst uns aber nicht was. So lässt sich schwer helfen.


----------



## fenstergummi (19. Jul 2016)

...Bei der Aufgabe sollten Sie für die Rechenoperationen Methoden erstellen. (dies wurde bemängelt)

Ich hab doch eine Methode oben erstellt. 

(Sorry, bin noch nicht so fit in dem ganzen)


----------



## kiwara (19. Jul 2016)

@Joose ich meinte damit wenn man 2^-1 eingibt wird die falsche antwort 1 zurückgegeben, richtig wäre 0.5


----------



## Joose (19. Jul 2016)

fenstergummi hat gesagt.:


> ...Bei der Aufgabe sollten Sie für die Rechenoperationen Methoden erstellen. (dies wurde bemängelt)
> 
> Ich hab doch eine Methode oben erstellt.



Ja du hast eine Methode erstellt für das Potenzieren, aber keine Methode für die 4 Grundrechnungsarten.
Auch wenn man es direkt ausrechnen könnte, die Aufgabe verlangt eben für die Operation*en* jeweils eine Methode.


----------



## fenstergummi (19. Jul 2016)

Vielen Dank erstmal dafür.
Kann man das alles irgendwie in eine Methode packen oder muss ich das jetzt für die 4 GRA einzeln schreiben?


----------



## Joose (19. Jul 2016)

Wir können nicht sagen was dein Aufgabensteller gerne hätte, da musst du ihn selber fragen.
Ich 4 Methoden für die 4 GRA schreiben. Begründung: eine Methode sollte immer nur für eine Sache zuständig sein.


----------

