Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Não está fazendo a soma e nem a subtração!!

Olá! Alguém pode me ajudar?

package logicaprogramacaoaluraherpoliabsinter;
import java.util.Scanner;
public class Terminal9{
    public static void main(String[] args){
        Scanner teclado = new Scanner(System.in);
        String retornar;
        do{
            System.out.println("-----------------------------------TERMINAL BANCÁRIO-----------------------------------");
            System.out.print("\nO que deseja fazer? 1-Depositar / 2-Sacar:     ");
            int escolha = teclado.nextInt();
            switch(escolha){
                case 1:
                    System.out.print("\nDigite o valor para depositar:     ");
                    double valor = teclado.nextDouble();
                    Deposito9 deposito = new Deposito9();
                    deposito.relatorio();
                    deposito.somar(valor);
                    deposito.executar();
                    break;
                case 2:
                    System.out.print("\nDigite o valor para sacar:     ");
                    valor = teclado.nextDouble();
                    Saque9 saque = new Saque9();
                    saque.relatorio();
                    saque.subtrair(valor);
                    saque.executar();
                    break;
                default:
                    System.out.println("NÃO ENCONTRADO!");
            }
            System.out.print("\n\nDeseja retornar?? S/N:     ");
            retornar = teclado.next();
        }while(retornar.equals("S") || retornar.equals("s"));
    }
}

package logicaprogramacaoaluraherpoliabsinter;
public abstract class OperacaoBancaria9 implements Dados9{
    protected double valor;
    public void setValor(double valor) {
        this.valor = this.valor + valor;
    }
    public double getValor(){
        return valor;
    }
    public void executar(double valor){
        this.valor = valor - valor;
    }
    public void relatorio(){
        System.out.println("----------SALDO DA CONTA----------");
    }
}

package logicaprogramacaoaluraherpoliabsinter;
public interface Dados9{
    public void executar();
}

package logicaprogramacaoaluraherpoliabsinter;
public class Deposito9 extends OperacaoBancaria9 implements Dados9{
    private double depositarValor;
    public void somar(double deposito){
        this.depositarValor = deposito;
    }
    public double soma(){
        return this.depositarValor;
    }
    @Override
    public void executar(){
        super.setValor(this.soma());
        System.out.println("Deposito de " + super.getValor() + " realizado com sucesso.");
        System.out.printf("Seu saldo é de:     R$ %.2f", super.getValor());
    }
}

package logicaprogramacaoaluraherpoliabsinter;
public class Saque9 extends OperacaoBancaria9 implements Dados9{
    private double sacarValor;
    public void subtrair(double sacarValor){
        this.sacarValor = sacarValor;
    }
    public double subtrairValor(){
        return this.sacarValor;
    }
    @Override
    public void executar(){
        super.executar(this.subtrairValor());
        System.out.println("Saque de " + super.getValor() + " realizado com sucesso.");
        System.out.printf("Seu saldo é de:     R$ %.2f", super.getValor());
    }
}

Este código não está somando e nem fazendo a subtração desejada conforme na opção depósito e saque! O que poderia ser?