Ir ao conteúdo

Posts recomendados

Postado

Olá, estou fazendo um exercício de Java onde tenho que fazer uma conta bancária. Fiz um método para depositar, porém ao invés de aumentar o valor do saldo corretamente, ele aumenta muito. Na classe main está assim(coloquei só as partes relevantes, para resumir):

 

obj_cc.defineNumConta(123);
obj_cc.defineSaldo(1000);
obj_cc.defineLimiteAtual(1500);

case 2:{
				System.out.println("Digite o valor a ser depositado.");
				double valor = entrada.nextDouble();
				obj_cc.depositar(valor);
				break;
			}

 

Conta_Corrente.java (Somente partes relevantes):

 

private double limiteAtual;
private double limiteInicial = 500;

void depositar(double valor) {
		if(limiteInicial != limiteAtual) {
			
			double dif = limiteInicial-limiteAtual;
			
			if(valor>=dif) {
				double difDivida = limiteAtual - valor;
				limiteAtual = limiteAtual + valor;
				saldo = saldo + difDivida;
					System.out.println("Você depositou: R$ " + valor);
					System.out.println("Saldo: R$ " + saldo);
					System.out.println("Você não tem mais dívidas!");
			}
			
		}else {
			saldo = saldo + valor;
			System.out.println("Você depositou: R$ " + valor);
			System.out.println("Saldo: R$ " + saldo);
		}
	}

 

Os limites são relativos a cheque especial, se houver dívida ela deve ser paga antes do depósito aumentar o saldo.

 

O Console está assim:

 

Conta Criada

Escolha uma opção
1 - Sacar
2 - Depositar
3 - Extrato da Conta
4 - Criar Conta
5 - Sair
3
O saldo é: 1000.0

Escolha uma opção
1 - Sacar
2 - Depositar
3 - Extrato da Conta
4 - Criar Conta
5 - Sair
2
Digite o valor a ser depositado.
1
Você depositou: R$ 1.0
Saldo: R$ 2499.0
Você não tem mais dívidas!

Escolha uma opção
1 - Sacar
2 - Depositar
3 - Extrato da Conta
4 - Criar Conta
5 - Sair
2
Digite o valor a ser depositado.
1
Você depositou: R$ 1.0
Saldo: R$ 3999.0
Você não tem mais dívidas!

Escolha uma opção
1 - Sacar
2 - Depositar
3 - Extrato da Conta
4 - Criar Conta
5 - Sair
2
Digite o valor a ser depositado.
1
Você depositou: R$ 1.0
Saldo: R$ 5500.0
Você não tem mais dívidas!

Escolha uma opção
1 - Sacar
2 - Depositar
3 - Extrato da Conta
4 - Criar Conta
5 - Sair
3
O saldo é: 5500.0

Escolha uma opção
1 - Sacar
2 - Depositar
3 - Extrato da Conta
4 - Criar Conta
5 - Sair
5
Saindo...

 

Não encontrei o que há de errado, alguém pode me ajudar?

Postado

Provavelmente está entrando no if porque o valor de limiteAtual não foi definido, dessa forma ele é iniciado com 0, causando um bug na lógica. Sem o código completo para depurar fica difícil apontar o erro com exatidão, mas deve ser isso. Tente iniciar a variável com o mesmo valor de limiteInicial.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!