Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Meu Exercicio Extra] Calculadora utilizando Herança de Polimorfismo

Compartilhando com os colegas um exercício Calculadora onde foram utilizados os conhecimento adquiridos nesta etapa do curso, como forma de fixar o entendimento.


import java.util.Scanner;

public class Calculadora {
    protected double num1;
    protected double num2;
    protected double resultado;

    Scanner sc = new Scanner(System.in);

    public void entrarDados() {
    }

    public void saidaDados() {
    }

    public double getNum1() {
        return num1;
    }

    public void setNum1(double num1) {
        this.num1 = num1;
    }

    public double getNum2() {
        return num2;
    }

    public void setNum2(double num2) {
        this.num2 = num2;
    }

    public double getResultado() {
        return resultado;
    }

    public void setResultado(double resultado) {
        this.resultado = resultado;
    }
}

public class Somar extends Calculadora {

    @Override
    public void entrarDados() {
        System.out.println("Insira o primeiro valor: ");
        this.setNum1(this.num1 = sc.nextDouble());
        System.out.println("Insira o segundo valor: ");
        this.setNum2(this.num2 = sc.nextDouble());
        this.setResultado(this.resultado = (this.getNum1() + this.getNum2()));
    }
    
    @Override
    public void saidaDados() {
        System.out.println("===== SAÍDA DE DADOS - SOMA =====");
        System.out.println("Resultado soma: " + this.getNum1() + " + " + this.getNum2() + " = " + this.getResultado());
        System.out.println("\n=================================");
    }
}

public class Subtracao extends Calculadora {

    @Override
    public void entrarDados() {
        System.out.println("Insira o primeiro valor: ");
        this.setNum1(this.num1 = sc.nextDouble());
        System.out.println("Insira o segundo valor: ");
        this.setNum2(this.num2 = sc.nextDouble());
        this.setResultado((this.getNum1() - this.getNum2()));
    }
    
    @Override
    public void saidaDados() {
        System.out.println("===== SAÍDA DE DADOS - SUBTRAÇÃO =====");
        System.out.println("Resultado sub: " + this.getNum1() + " - " + this.getNum2() + " = " + this.getResultado());
        System.out.println("\n=================================");
    }
}

public class Multiplicacao extends Calculadora {

    @Override
    public void entrarDados() {
        System.out.println("Insira o primeiro valor: ");
        this.setNum1(this.num1 = sc.nextDouble());
        System.out.println("Insira o segundo valor: ");
        this.setNum2(this.num2 = sc.nextDouble());
        this.setResultado((this.getNum1() * this.getNum2()));
    }
    
    @Override
    public void saidaDados() {
        System.out.println("===== SAÍDA DE DADOS - MULTIPLICAÇÃO =====");
        System.out.println("Resultado sub: " + this.getNum1() + " * " + this.getNum2() + " = " + this.getResultado());
        System.out.println("\n=================================");
    }
}

public class Divisao extends Calculadora {

    @Override
    public void entrarDados() {
        System.out.println("Insira o primeiro valor: ");
        this.setNum1(this.num1 = sc.nextDouble());
        System.out.println("Insira o segundo valor: ");
        this.setNum2(this.num2 = sc.nextDouble());
        this.setResultado(resultado = (this.getNum1() / this.getNum2()));
    }
    
    @Override
    public void saidaDados() {
        System.out.println("\n===== SAÍDA DE DADOS - DIVISÃO =====");
        System.out.println("Resultado sub: " + this.getNum1() + " / " + this.getNum2() + " = " + this.getResultado());
        System.out.println("\n=================================");
    }
}

public class Principal {
    public static void main(String[] args) {

        Somar soma = new Somar();
        soma.entrarDados();
        soma.saidaDados();
        Subtracao sub = new Subtracao();
        sub.entrarDados();
        sub.saidaDados();
        Multiplicacao mult = new Multiplicacao();
        mult.entrarDados();
        mult.saidaDados();
        Divisao div = new Divisao();
        div.entrarDados();
        div.saidaDados();
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá, Carlos.

Tudo bem?

Parabéns por compartilhar sua calculadora com herança e polimorfismo! É ótimo ver como você aplicou os conceitos aprendidos no curso, criando uma estrutura bem organizada para diferentes operações matemáticas. Esse tipo de exercício é excelente para fixar o conhecimento e se familiarizar ainda mais com a Orientação a Objetos.

Continue assim, com essa dedicação!

Se precisar de mais ajuda ou tiver outras dúvidas, o fórum está à disposição.

Abraços!