Duvida na logica dessa implementação

1 resposta
W

Qual lógica certa pra isso funcionar de maneira correta?

public class ContaCorrente {

float limite;
float saldo;
float valorLimite;

 ContaCorrente(float limite, float saldo, float valorLimite) {
    this.limite = limite;
    this.saldo = saldo;
    this.valorLimite = valorLimite;
}

public void sacar(float valor) {
 if(valor<=limite)
     saldo = saldo-valor;
 
 if(saldo<0 && valor<=limite){
     limite = limite -(-saldo);
     
 }
  else
    saldo = saldo - valor;
    

  System.out.println("Saldo depois sacar: " +saldo);
  System.out.println("Limite depois sacar: " +limite);

}

public void depositar(float valor){
    if(valor<=0){
        System.out.println("Impossivel deposistar valor negativo");
       
    }else{
        if(saldo<0){
            limite = limite + valor;
            if(limite>6000){
                
                limite = 6000;
            }   
                saldo = saldo + valor;
            }
        
        System.out.println("Saldo depois do deposito: " +saldo);
        System.out.println("Limite depois do deposito: "+limite);
        
        }
}

1 Resposta

L

No método sacar, você está subtraindo a variável saldo duas vezes. Sua condição
(saldo<0 && valor<=limite)
deve estar errada.

Criado 30 de maio de 2016
Ultima resposta 30 de mai. de 2016
Respostas 1
Participantes 2