Taschenrechner mit Switch case

Diskutiere Taschenrechner mit Switch case im Java Basics - Anfänger-Themen Bereich.
W

wurstm162

Code:
package calculator;
import java.util.Scanner;


public class calculator2 {
    public static void main(String[] args) {
        
        double ergebnis;
        String op;
        Scanner sc = new Scanner(System.in);
        
        System.out.println("Zahl 1:");
        double zahl1 = sc.nextDouble();
        System.out.println("Zahl 2:");
        double zahl2 = sc.nextDouble();
        System.out.println("Was für eine Rechnung möchten Sie ausführen");
        op = sc.nextLine();
        
        if(zahl2 == 0) {
            System.out.println("Das geht leider nicht");
            return;
        }
        
        switch(op/*Den switch case anhand eines strings sortieren zu lassen funktioniert nicht wirklich gut*/){
        case "plus":
            ergebnis = zahl1 + zahl2;
            System.out.println("i ist null");
            break;
        case "minus":
            ergebnis = zahl1 - zahl2;
            System.out.println("i ist eins");
            break;
        case "mal":
            ergebnis = zahl1 * zahl2;
            System.out.println("i ist zwei");
            break;
        case "durch":
            ergebnis = zahl1 / zahl2;
            System.out.println("i ist drei");
            break;
        default:
            System.out.println("Gibs nicht");
            break;
        }
        
        System.out.println(ergebnis); //Mir wird das Ergebnis nicht herausgegeben
    }
}

Hallo allerseits,
ich habe versucht einen einfachen Taschenrechner mithilfe von switch case zu erstellen. Vor allem an zwei Punkten bin ich gescheitert:
Wie kann ich den switch case anhand eines strings abrichten, also "op" und wie bekomme ich es hin, dass ich nicht bei jedem switch case System.out.println(ergebnis); hinschreiben möchte.
Schönen Abend noch allerseits
 
MoxxiManagarm

MoxxiManagarm

Das Problem ist einfach nur das nextLine nach nextDouble. Füge einfach noch ein zusätzliches nextLine für einen "Flush" ein.

Java:
System.out.println("Zahl 1:");
double zahl1 = sc.nextDouble();
System.out.println("Zahl 2:");
double zahl2 = sc.nextDouble();

// "Flush"
sc.nextLine();

System.out.println("Was für eine Rechnung möchten Sie ausführen");
op = sc.nextLine();
 
W

wurstm162

Das Problem ist einfach nur das nextLine nach nextDouble. Füge einfach noch ein zusätzliches nextLine für einen "Flush" ein.

Java:
System.out.println("Zahl 1:");
double zahl1 = sc.nextDouble();
System.out.println("Zahl 2:");
double zahl2 = sc.nextDouble();

// "Flush"
sc.nextLine();

System.out.println("Was für eine Rechnung möchten Sie ausführen");
op = sc.nextLine();
Danke :)
 
Thema: 

Taschenrechner mit Switch case

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben