Eu ja tenho isso pronto, alguem pode me ajudar a implememntar o restante (reposicaoCedulas(Integer cedula, Integer quantidade){se alcançar o nº mi nimo de notas no caixa imprimir msg “caixa vazio” E no saque informar “quamtas notas de de cada valor serão entergues no saque”
public boolean login(Integer conta, String senha) {
public String pegaSaldo() {
public String pegaSaldo() {
public String transferir(Integer contaDestino, Double valor) {
Obrigado.
Caixa eletrônico
Desenvolva um programa para controlar um caixa eletrônico. Existem 6 tipos de notas: de 2, de 5, de 10, de 20, de 50, de 100. O programa deve inicialmente ler uma quantidade de notas de cada tipo, simulando o abastecimento inicial do caixa eletrônico. Depois disto, o caixa entra em operação e contínua atendendo um cliente após o outro. Para sacar, o cliente fornece o valor do saque a ser efetuado e como resultado da operação, o programa deverá então escrever na tela a quantidade de notas de cada tipo que será dada ao cliente a fim de atender ao seu saque. Sempre que um saque for efetuado por um cliente, a quantidade inicial de dinheiro que foi colocada no caixa é decrementada. O programa deve pagar sempre com as maiores notas possíveis. Sempre que não for possível pagar somente com notas de 100, então o programa tentará complementar com notas de 50, depois com notas de 20, 10, 5 e 2. Antes de efetuar um saque para um cliente, ou seja, escrever na tela as notas que ele irá receber, o programa deve ter certeza que é possível pagá-lo, senão emitirá uma mensagem o motivo da não realização do saque. Caso o caixa fique abaixo de um certo valor mínimo de notas, o algoritmo deverá parar de atender (os saques) aos clientes e emitir uma mensagem do tipo ?Caixa Vazio: Chame o Operador!?.
A interface gráfica com usuário (figura 1) do caixa eletrônico já é fornecido para você, juntamente com um contrato (figura 2) para utilização da interface gráfica, que segue abaixo.
Figura 1 ? interface de utilização do caixa eletrônico
/**
-
Interface (contrato) para utilizacao da interface grafica.
-
Nesse contrato e definido as operacoes de entrada e saida de dinheiro do caixa eletronico
*/
public interface ICaixaEletronico{
/**
* Pega o valor total disponivel no caixa eletronico
* @retorna uma string formatada com o valor total disponivel
*/
public String pegaValorTotalDisponivel();
/**
* Efetua o saque
* @param valor a ser sacado
* @retorna uma string formatada informando o resultado da operacao
*/
public String sacar(Integer valor);
/**
* Pega um relatorio informando as celulas e a quantidade de celula disponivel
* @retorna uma string formatada com as celula e suas quantidades
*/
public String pegaRelatorioCedulas();
/**
* Efetua a reposicao de cedulas
* @param cedula de reposicao
* @param quantidade de cedulas para reposicao
* @retorna uma string formatada informando o resultado da operacao
*/
public String reposicaoCedulas(Integer cedula, Integer quantidade);
/**
* Efetua a leitura da cota minima de atendimento
* @param minimo
* @retorna uma string formatada informando o resultado da operacao
*/
public String armazenaCotaMinima(Integer minimo);
/**
* Verifica se o usuario tem acesso ao sistema
* @param conta - numero da conta do cliente
* @param senha - senha da conta
* @returna true caso a conta e a senha seja valido e false caso contrario
*/
public boolean login(Integer conta, String senha);
/**
* Pega o saldo do cliente
* @retorna uma string formatada com o saldo da conta do cliente
*/
public String pegaSaldo();
/**
* Efetua a transferencia da conta do cliente para uma outra conta
* @param conta - numero da conta do destinatario
* @param valor - valor a ser transferido
* @retorna uma string formatada informando o resultado da operacao
*/
public String transferir(Integer conta, Double valor);
/**
* Efetua o deposito na conta do cliente
* @param conta - numero da conta do destinatario
* @param valor a ser depositado
* @retorna uma string formatada informando o resultado da operacao
*/
public String depositar(Integer conta, Double valor);
}
Figura 2 - contrato de utilização da interface gráfica
Seu programa deve criar um classe chamado CaixaEletronico e implementar o contrato definido em ICaixaEletronico, como segue abaixo:
public class CaixaEletronico implements ICaixaEletronico{
public CaixaEletronico(){
//construtor
}
public String pegaRelatorioCedulas() {
String resposta = "";
//logica de pega o relatorio de cedulas
return resposta;
}
public String pegaValorTotalDisponivel() {
String resposta = "";
//logica de pega o valor total disponivel no caixa eletronio
return resposta;
}
public String reposicaoCedulas(Integer cedula, Integer quantidade) {
String resposta = "";
//logica de fazer a reposicao de cedulas e criar uma mensagem (resposta) ao usuario
return resposta;
}
public String sacar(Integer valor) {
String resposta = "";
//logica de sacar do caixa eletronico e criar um mensagem(resposta) ao usuario
return resposta;
}
public String armazenaCotaMinima(Integer minimo) {
String resposta = "";
//logica de armazenar a cota minima para saque e criar um mensagem(resposta) ao usuario
return resposta;
}
public boolean login(Integer conta, String senha) {
//verifica se o conta e a senha sao validos no banco de dados
return true;
}
public String pegaSaldo() {
String resposta = "";
//consulta no banco de dados o saldo do cliente
return resposta;
}
public String transferir(Integer contaDestino, Double valor) {
String resposta = "";
//efetua a transferencia da conta logada para conta do destinatario
return resposta;
}
public String depositar(Integer conta, Double valor) {
String resposta = "";
//efetua o deposito para conta
return resposta;
}
public static void main(String arg[]){
GUI janela = new GUI(new CaixaEletronico());
janela.show();
}
}
public String depositar(Integer conta, Double valor) { )