I'm trying to do a while within another while and after running the code within the second while I wonder if I want to continue or not, if so, the program should loop the first while. It turns out that the loop is only going to the second while and not to the first. Below is the code:
public class ExercicioCalculadora2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int soma, sub, div, multi, num1 = 0, num2 = 0;
String operacao = "";
boolean continua = true, continua2 = true;
String pergunta = "";
System.out.println("CALCULADORA");
Scanner entrada = new Scanner(System.in);
while(continua) {
System.out.print("Digite um numero entre 1 e 4: ");
num1 = entrada.nextInt();
if(num1 >= 1 && num1 <=4) {
while(continua2) {
System.out.println();
System.out.print("Digite outro numero entre 1 e 4: ");
num2 = entrada.nextInt();
if(num2 >= 1 && num2 <= 4) {
System.out.println();
System.out.print("Digite qual operação deseja executar(Soma, Divisão, Subtração ou Multiplicação): ");
operacao = entrada.next();
switch(operacao) {
case "Soma":
soma = num1 + num2;
System.out.println("O resultado da soma dos dois numeros é : " + soma);
break;
case "Divisão":
div = num1 / num2;
System.out.println("O resultado da soma dos dois numeros é : " + div);
break;
case "Subtração":
sub = num1 - num2;
System.out.println("O resultado da soma dos dois numeros é : " + sub);
break;
case "Multiplicação":
multi = num1 * num2;
System.out.println("O resultado da soma dos dois numeros é : " + multi);
break;
}
}else {
System.out.println("O numero digitado está fora do padrao, digite novamente!");
}
System.out.println("Deseja continuar calculando(S ou N)? ");
pergunta = entrada.next();
if(pergunta.toUpperCase().equals("N")) {
System.out.println("FIM DO PROGRAMA");
continua = false;
continua2 = false;
}
}
}else {
System.out.println("O numero digitado está fora do padrao, digite novamente!");
}
}
}
}