Exercicio do Java

1 resposta
hackum

Olá!

Estou na página 85, exercício: 3.12 do Java Como Programar!
Não estou consiguindo fazer o exercício, poderiam me ajudar?
Segue o exercicio:

"Modifique a classe Account, para fornecedor um método chamado debit que retira dinheiro de um Account. Assegure que a quantia de débito não exceda o saldo de Account. Se exceder, o saldo deve ser deixado inalterado e o método deve imprimir a mensagem que indica "Quantia de débito excedeu o saldo da conta"".

Como eu faria para que o método não exercesse o saldo da conta ?

Código: #1
//Account.java
//Classe Account com um construtor para
//inicializar a variável de instância balance
public class Account {
	
	private double balance; //variável de instância que armazena o saldo
	private double debitar;
	
	//construtor
	public Account (double initialBalance)
	{
		
		//valida que initialBalance é maior que 0.0
		//se não, o saldo é inicializado como o valor padrão 0.0
		if(initialBalance > 0.0)
			balance = initialBalance;
		
	

		
	}
	
	//credita (adciona) uma quantia à conta
	public void credit(double amount)
	{
		
		balance = balance + amount; //adciona quantia ao saldo
		
	}
	
	//retorna o saldo da conta
	public double getBalance()
	{
		
		return balance; //fornece o valor do saldo e o método chamador
	}
	

}
#2
//AccountTest

import java.util.Scanner;
public class AccountTest {

	//inicialização do programa
	public static void main(String args[])
	{
		
		Account account1 = new Account(50.00);
		Account account2 = new Account(-7.53);
		
		
		//exibe o saldo de cada objeto criado
		System.out.printf("Account1 balance: %f\n",account1.getBalance());
		System.out.printf("Account2 balance: %f\n",account2.getBalance());
		
		

		
		//cria Scanner para obter os dados a partir da janela de comando
		
		Scanner input = new Scanner(System.in);
		
		double depositAmount; //quantia de depósito lida do usuário
		
		System.out.print("Digite o valor da account1: ");
		depositAmount = input.nextDouble();
		account1.credit(depositAmount); // adciona valor
		
		//exibe o valor digitado pelo usuário #1
		
		System.out.printf("account1 %f\n",account1.getBalance());
		System.out.printf("account2 %f\n",account2.getBalance());
		
		System.out.print("Digite o valor da account2:\n");
		depositAmount = input.nextDouble();
		account2.credit(depositAmount);
		
	   //exibe o valor digitado pelo usuário #2
		System.out.printf("account1: %f\n",account1.getBalance());
		System.out.printf("account2: %f\n",account2.getBalance());
		
		
		
		
	}
}

1 Resposta

J

mais ou menos assim

"“Modifique a classe Account, para fornecedor um método chamado debit que retira dinheiro de um Account. Assegure que a quantia de débito não exceda o saldo de Account. Se exceder, o saldo deve ser deixado inalterado e o método deve imprimir a mensagem que indica “Quantia de débito excedeu o saldo da conta””.

public void debit(double valor){

   if(valor<= balance){ //se o valor for menor ou igual ao saldo, debita
       balance = balance - valor;
   }else{ //se o valor for maior que o saldo, mostra a mensagem
       System.out.printf("Quantia de débito excedeu o saldo da conta");
   }
 }
Criado 25 de janeiro de 2010
Ultima resposta 25 de jan. de 2010
Respostas 1
Participantes 2