Olá pessoal…
estou com uma duvida que vou esplicar nos comentarios das linda de codigo do meu codigo:
public class Account { // classe Amount
private double balance; // variavel que armazena o saldo
//construtor
public Account(double inicialBalance) // metodo que para analize dos objetos account
{
if(inicialBalance > 0.0)
balance = inicialBalance;
}// fim do construtor
public void credit(double amount) // metodo que adiciona uma quantia a conta
{
balance = balance + amount;
}// fim do metodo credit
public void debit(double retirada) // metodo que debita (retira) uma quantia do saldo //
a duvida acontesse nesse método ,
mas soh na hora do
Run dele... vou esplicar
{
balance = balance - retirada;
if(retirada > balance){
System.out.print("Debit amount exceeded account balance\n\n");
}else{
System.out.printf("Your account balance is: $%.2f\n\n", getBalance());
}
}// fim do metodo debit
// metodo que retorna o saldo da conta
public double getBalance()
{
return balance;
}// fim do metodo getBalance
}// fim da classe Amount
essa eh a classe Test dos Métodos
import java.util.Scanner;
public class AccountTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Account account1 = new Account(50.00); // primero objeto Account da class Account
Account account2 = new Account(-7.53); // segundo objeto Account da class Account
System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
System.out.printf("account2 balance: $%.2f\n\n", account2.getBalance());
Scanner input = new Scanner(System.in);
double depositAmount;
double retiradaAmount;
System.out.print("Enter deposit amount for account1: ");
depositAmount = input.nextDouble();
System.out.printf("\nadding %.2f to account1 balance\n\n", depositAmount);
account1.credit(depositAmount);
System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
System.out.printf("account2 balance: $%.2f\n\n", account2.getBalance());
System.out.print("Enter deposit amount for account2: ");
depositAmount = input.nextDouble();
System.out.printf("\nadding %.2f to account1 balance\n\n", depositAmount);
account2.credit(depositAmount);
System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
System.out.printf("account2 balance: $%.2f\n\n", account2.getBalance());
System.out.print("Enter com a quantia a ser debitada de account1: ");
retiradaAmount = input.nextDouble();
System.out.printf("\nvc debitou %.2f to account1\n\n", retiradaAmount);
account1.debit(retiradaAmount);
System.out.print("Enter com a quantia a ser debitada de account2: ");
retiradaAmount = input.nextDouble();
System.out.printf("\nvc debitou %.2f to account2\n\n", retiradaAmount);
account2.debit(retiradaAmount);
System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
System.out.printf("account2 balance: $%.2f\n", account2.getBalance());
}
}
a duvida está aqui…
account1 balance: $50,00
account2 balance: $0,00
Enter deposit amount for account1: 50,00
adding 50,00 to account1 balance
account1 balance: $100,00
account2 balance: $0,00
Enter deposit amount for account2: 20,00
adding 20,00 to account1 balance
account1 balance: $100,00
account2 balance: $20,00
Enter com a quantia a ser debitada de account1: 20,00
vc debitou 20,00 to account1
Your account balance is: $80,00
Enter com a quantia a ser debitada de account2: 30,00
vc debitou 30,00 to account2
Debit amount exceeded account balance
account1 balance: $80,00
account2 balance: $-10,00 // como eu fasso pra quando exceder, o saldo
permanesser sem ser alterado... oq ñ consigo que isso aconteça