• Matéria: Informática
  • Autor: joãovitor19
  • Perguntado 7 anos atrás

Preciso de ajuda pra fazer uma Calculadora em JAVA.

Uma calculadora de 4 operações básicas SOMA, SUBTRAÇÃO, DIVISÃO e MULTIPLICAÇÃO.

O programa deve ser capaz de ler múltiplas operações e encerrar no momento que o usuário digitar "="
O programa deve executar as operações na ordem que aparecem, não precisa priorizar multiplicação/divisão sobre adição/subtração.

Obs: tem que ser simples porque eu só até agora eu ó aprendi While, if, else if e o básico do JAVA, mas se precisar usar caracters pode usar;
SE NÃO FOR SIMPLES NÃO VAI SER CONSIDERADO E EU VOU SOLICITAR MODERAÇÃO DA RESPOSTA.


joãovitor19: aprendi boolean também.

Respostas

respondido por: mandiocaa1
9

Resposta:

Explicação:

import java.util.Scanner;    

public class calc {    

   public static void main (String args[]){    

       short operacao;

       double num1, num2;    

       Scanner input = new Scanner(System.in);

       do {

            System.out.println("Digite a operacao desejada:");

            System.out.println("  1. Soma");      

            System.out.println("  2. Subtracao");      

            System.out.println("  3. Multiplicacao");      

            System.out.println("  4. Divisao");      

            System.out.println("  0. Sair");

            System.out.print("Operacao: ");

            operacao = input.nextShort();

            if (operacao == 0) {

             System.out.println("Bye bye!");

             break;

            }

            if (!OperacaoExiste(operacao)) {

             continue;

            }

            System.out.print("Digite o primeiro valor: ");

            num1 = input.nextDouble();

            System.out.print("Digite o segundo valor: ");

            num2 = input.nextDouble();

            if (!ValidaDadosDeEntrada(operacao, num1, num2)) {

             continue;

            }

            System.out.println("RESULTADO: O resultado da operacao " + getNomeOperacao(operacao) + " eh " + Calcular(operacao, num1, num2) + "\n");

       } while (operacao != 0);

   }

   static double Calcular (short operacao, double num1, double num2) {

    double resultado = 0;

    switch (operacao) {

     case 1: //soma

      resultado = num1 + num2;

      break;

     case 2: //substração

      resultado = num1 - num2;

      break;

     case 3: //multiplicação

      resultado = num1 * num2;

      break;

     case 4: //divisão

      resultado = num1 / num2;

      break;

    }

    return resultado;

   }

   static boolean OperacaoExiste (short operacao) {

       boolean retorno = true;

    if (operacao > 4) {

        System.out.println("ERRO: Operacao escolhida eh invalida.\n");

        retorno = false;

       }

    return retorno;

   }

   static boolean ValidaDadosDeEntrada (short operacao, double num1, double num2) {

    boolean retorno = true;  

    if (operacao == 4 & num2 == 0) {

         System.out.println("ERRO: Divisor nao pode ser zero.\n");

         retorno = false;

       }

    return retorno;

   }

   static String getNomeOperacao (short operacao) {

    switch (operacao) {

 case 1:

  return "soma";

 case 2:

  return "subtracao";

 case 3:  

  return "multiplicacao";

 case 4:  

  return "divisao";

    default:

     return "undefined";

    }

   }

}

Perguntas similares