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
[code]//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
}
}
[/code]
#2
[code]//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());
}
}
[/code]