Exercicio do Java

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]

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");
   }
 }