1
resposta

[Dúvida] Projeto calculadora simples = > Como fazer uma laço para retornar no inicio do programa ?

package calculadora;

import java.util.Scanner;

public class Calc { public static void main(String[] args) { Scanner entrada = new Scanner(System.in);

    int numero1 = 0;
    int numero2 = 0;
    int res = 0;
    int opcao = 0;

    System.out.println("========================================================");
    System.out.println("Calculadora Simples :");
    System.out.println("========================================================");

    System.out.println("[ 1 ] - Soma :");
    System.out.println("[ 2 ] - Multiplicação :");
    System.out.println("[ 3 ] - Divisão :");
    System.out.println("[ 4 ] - Subtração:");

    System.out.println("========================================================");

    System.out.print(" Escolha a opção:   ");
    opcao = entrada.nextInt();

    System.out.println("========================================================");

    switch (opcao) {
    case 1:
        System.out.print("Digite o primeiro numero: ");
        numero1 = entrada.nextInt();
        System.out.print("Digite o Segundo numero: ");
        numero2 = entrada.nextInt();
        res = numero1 + numero2;
        System.out.println("Resultado da soma é : " + res);
        break;

    case 2:
        System.out.print("Digite o primeiro numero: ");
        numero1 = entrada.nextInt();
        System.out.print("Digite o Segundo numero:");
        numero2 = entrada.nextInt();
        res = numero1 * numero2;
        System.out.println("Resultado da Multiplicação é : " + res);
        break;

    case 3:
        System.out.print("Digite o primeiro numero: ");
        numero1 = entrada.nextInt();
        System.out.print("Digite o Segundo numero:");
        numero2 = entrada.nextInt();
        res = numero1 / numero2;
        System.out.println("Resultado da Divisão é : " + res);
        break;

    case 4:
        System.out.print("Digite o primeiro numero: ");
        numero1 = entrada.nextInt();
        System.out.print("Digite o Segundo numero:");
        numero2 = entrada.nextInt();
        res = numero1 - numero2;
        System.out.println("Resultado da Subtração é : " + res);
        break;

    default:
        System.out.println("Opção Invalida :");
        break;

    }
    System.out.print("Deseja fazer nova Operação? [ S / N ] : ");
    int Nova = entrada.nextInt();

    If (opcao == 'S'){

        //  Como fazer uma laço para retornar no inicio do programa ??  

    } else {
        System.out.println("Fim da Operação ");

    }
}

}

1 resposta

Olá Vanderley!

Para fazer um laço que retorne ao início do programa, você pode utilizar um loop while ou do-while. No seu caso, como você quer perguntar ao usuário se deseja fazer uma nova operação, o ideal é utilizar um loop do-while.

Você pode fazer da seguinte forma:

do {
    // Seu código atual da calculadora

    System.out.print("Deseja fazer nova Operação? [ S / N ] : ");
    char novaOperacao = entrada.next().charAt(0);

    if (novaOperacao == 'N') {
        System.out.println("Fim da Operação");
        break; // Sai do loop
    }

} while (true);

Dessa forma, o programa irá repetir as operações até que o usuário digite 'N' para não fazer uma nova operação.

Espero ter ajudado e bons estudos!