Pessoal, boa tarde… Estou tentando fazer uma verificacao para um exercicio da facul, onde eu tenho que montar uma calculadora em um loop que ira sair quando escolher a opcao 0, ate ai tudo bem, consegui fazer, meu dilema agora eh testar se a operacao é valida antes de prosseguir com o pedido de numeros para fazer a operacao… pois da forma como esta agora, por conta do switch, ele pergunta qual opcao eu quero, dai pede os numeros e dai ele diz se foi invalido ou nao… pensei no if, mas nao estou conseguindo pensar em um opcao para compara strings ja que as operacoes serao + - / e *.
Este é o codigo que eu tenho ate o momento
public class CalculadoraAtv1 {
/**
* @param args the command line arguments
*/
public static double somar(double valorA, double valorB) {
return valorA + valorB;
}
public static double subtrair(double valorA, double valorB) {
return valorA - valorB;
}
public static double multiplicar(double valorA, double valorB) {
return valorA * valorB;
}
public static double dividir(double valorA, double valorB) {
return valorA / valorB;
}
public static void main(String[] args) {
int terminar = 1;
String escolha;
Scanner valor = new Scanner(System.in);
while (terminar != 0) {
System.out.println("Escolha uma operação"
+ "\n(+) - Somar"
+ "\n(-) - Subtrair"
+ "\n(/) - Dividir"
+ "\n(*) - Multiplicar"
);
escolha = valor.next();
double resultado;
System.out.println("Escolha o primeiro numero");
double valorA = valor.nextDouble();
System.out.println("Escolha o segundo numero");
double valorB = valor.nextDouble();
switch (escolha) {
case "+":
resultado = somar(valorA, valorB);
System.out.println("O valor da soma é: " + resultado);
break;
case "-":
resultado = subtrair(valorA, valorB);
System.out.println("O valor da subtração é: " + resultado);
break;
case "*":
resultado = multiplicar(valorA, valorB);
System.out.println("O valor da multiplicação é: " + resultado);
break;
case "/":
resultado = dividir(valorA, valorB);
System.out.println("O valor da divisão é: " + resultado);
break;
default:
System.out.println("Voce digitou uma opcao invalida!!!");
}
System.out.println("Quer efetuar outra operação? [0] - Não / [1] - Sim");
terminar = valor.nextInt();
}
}
}
Se puderem me dar um norte ficarei muito grato.