Calculadora Interativa ajuda (fazer retornar código)

Olá pessoal estou iniciando com Java, alguém poderia por gentileza me dar uma help?

import java.util.Scanner;
public class javacalculator {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        System.out.println("Digite o primeiro numero");
        int x = scanner.nextInt();

        Scanner scanner1 = new Scanner(System.in);
        System.out.println("Digite o segundo numero");
        int y = scanner1.nextInt();

        Scanner scanner2 = new Scanner(System.in);
        System.out.println("Digite a operacao");
        String opera = scanner2.nextLine();

        if (opera.equals("somar")){
            System.out.println(x+y);
        } else if (opera.equals("subtrair")){
            System.out.println(x-y);
        } else if (opera.equals("multiplicar")){
            System.out.println(x*y);
        }else if(opera.equals("dividir")){
            System.out.println(x/y);
        }
    }
}

Como posso fazer para retornar para começo depois de ter efetuado uma operação qualquer? obrigado!

O que deve ser repetido precisa estar dentro de um laço.

1 curtida
import java.util.Scanner;

// Nome de classe sempre camel case
public class JavaCalculator {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        
        while(true) {
            System.out.println("Digite o primeiro numero");
            int x = scanner.nextInt();

            Scanner scanner1 = new Scanner(System.in);
            System.out.println("Digite o segundo numero");
            int y = scanner1.nextInt();

            Scanner scanner2 = new Scanner(System.in);
            System.out.println("Digite a operacao");
            String opera = scanner2.nextLine();

            if (opera.equals("somar")) {
                System.out.println(x + y);
            } else if (opera.equals("subtrair")) {
                System.out.println(x - y);
            } else if (opera.equals("multiplicar")) {
                System.out.println(x * y);
            } else if (opera.equals("dividir")) {
                System.out.println(x / y);
            }
        }
    }
}
1 curtida

Vê o que voce acha dessa versão.

import java.util.Scanner;

// Nome de classe sempre camel case
public class JavaCalculator {
    public static void main(String[] args){
        // O mesmo scanner pode ser usado várias vezes.
        Scanner scanner = new Scanner(System.in);

        int primeiroNumero;
        int segundoNumero;
        int opcao = 0;
        double resultado = 0;

        // Se o usuário escolher a opção [5], sai do loop e finaliza o programa.
        while(opcao != 5) {
            System.out.println();
            System.out.println("*** CALCULADORA JAVA ***");

            System.out.print("Digite o primeiro número: ");
            primeiroNumero = scanner.nextInt();

            System.out.print("Digite o segundo número: ");
            segundoNumero = scanner.nextInt();

            System.out.println();
            System.out.println("*** OPÇÕES ***");
            System.out.println("[1] Soma (+)");
            System.out.println("[2] Subtração (-)");
            System.out.println("[3] Multiplicação (X)");
            System.out.println("[4] Divisão (/)");
            System.out.println("[5] Sair do programa.");
            System.out.print("Escolha a opção da operação desejada: ");
            // Porém, utilizando o mesmo scanner pra int e String, dá um bugzinho.
            // Então, usamos só para pegar int mesmo.
            opcao = scanner.nextInt();

            switch(opcao)
            {
                case 1 :
                    resultado = primeiroNumero + segundoNumero;
                break;

                case 2 :
                    resultado = primeiroNumero - segundoNumero;
                break;

                case 3 :
                    resultado = primeiroNumero * segundoNumero;
                break;

                case 4 :
                    // Para funcionar a divisão corretamente.
                    resultado = (double) primeiroNumero / segundoNumero;
                break;

                case 5 :
                break;

                default :
                    System.out.println("Opção inválida, por favor, tente novamente.");
                break;
            }

            if(opcao >= 1 && opcao <=4)
            {
                System.out.println("O resultado obtido foi: " + resultado);
            }
        }

        System.out.println("Até logo.");
    }
}
1 curtida

Caramba que show galera! Sensacional essa versão! Obrigado a todos pela ajuda!! Legal ver o código ganhando upgrades. estou curtindo demais! show