Sugestões de soluções!

5 respostas
D

Tenho um problema para resolver aqui, mas não sei como fazê-lo…aqui vai uma descrição do q devo fazer:

Considere um sistema hipotético de contas bancárias. Nesse sistema, encontram-se os seguintes tipos de contas:

– Corrente: contas comuns, com número, nome do correntista, data da última movimentação, saldo atual, não permitindo saldo negativo.
– Corrente de Investimento: são aplicações realizadas pelos clientes por um determinado tempo, com juros creditados mensalmente.
– Especial: subclasse de corrente; além das características herdadas, possuem um limite de valor para saldo negativo.
– Especial com Bônus :são contas correntes especiais com o diferencial de que, ao se creditar um valor à conta, caso o novo saldo possua o triplo do limite da conta, o novo limite passa a ter valor igual à metade do saldo.

O sistema deve permitir as operações básicas sobre todos os tipos de contas bancárias, de acordo com as idiossincrasias de cada uma. Entre elas citam-se:
– consultar, que deverá solicitar o número da conta corrente e imprimir o titular e o saldo da conta;
– abrir, para abrir uma nova conta com dados que serão fornecidos pelo usuário
– creditar, para realizar um depósito, sendo que o número da conta e o valor do depósito serão solicitados ao usuário
– debitar, para realizar um saque ou um pgto na conta e no valor informados pelo usuário
– total, para retornar o valor total dos saldos de todas as contas mantidas no banco
– transferir, para realizar a transferência de valores entre contas correntes do mesmo cliente ou de clientes diferentes

o problema é que, como os métodos usam uma busca pelo numero de conta corrente, eu teria q fazer um array, ou lista, ou coisa parecida, para conseguir fazer essa busca e executar os respectivos métodos, e também para poder designar um número para cada conta…como posso fazer isso? ArrayList? ou tem um jeito de usar o numero da conta como chave numa especie de hash? (não sou muito hábil em java, usava mais o c, mas esse trabalho precisa ser feito em java).

Por favor, se alguem souber me ajudar, me dêem uma luz! Obrigado!

5 Respostas

R

Sugiro vc utilizar tabela hash;
é mais fácil e ágil para realizar as buscas de acordo com o número
Lá vai um exemplo:

private Map<Integer, Conta> contas = new HashMap <Integer, Conta&gt();
...

public void adicionarConta(Integer numeroConta, Conta conta){
     contas.put(numeroConta, conta);
}

public Conta selecionarConta(numeroConta){
     contas.get(numeroConta);
}

Acho que isto resolve seu problema!

D

rafael_ra:
Sugiro vc utilizar tabela hash;
é mais fácil e ágil para realizar as buscas de acordo com o número
Lá vai um exemplo:

private Map<Integer, Conta> contas = new HashMap <Integer, Conta&gt();
...

public void adicionarConta(Integer numeroConta, Conta conta){
     contas.put(numeroConta, conta);
}

public Conta selecionarConta(numeroConta){
     contas.get(numeroConta);
}

Acho que isto resolve seu problema!

É, isso ja resolve mesmo!
Eu fiquei com outra dúvida: posso criar uma classe abstrata Conta, que todas as outras classes usem? e como faço pra criar um objeto de cada classe? (eu teria q criar ele primeiro como Conta, pra depois criar ele como Conta Especial, etc)

R

cria uma classe abstrata Conta e dps extenda ela pelos outros tipos especificos de conta

public abstract class Conta{
     private Integer numeroConta;
     private Integer titular;
     private Double sado;

//getters e setters ...

     public abstract Double calcularTarifas(); 
// provavelmente cada conta especifica terá uma formula para calculo de tarifa, então você deixa que cada classe especifica implemente esse método
}

Depois é so criar as classes que vão extender a Conta

public class ContaEspecial extends Conta{
    
      public Double calcularTarifas(){
//implementação do método para classe ContaEspecial
     }

}

E assim você cria uma classe para cada tipo de conta extendendo a classe Conta, onde vc irá implementar as variações de cada tipo de conta.

D

public Conta selecionarConta(numeroConta){

contas.get(numeroConta);

}

estou tendo um problema nesse método…ele não compila, acusa o seguinte erro:

expected

como resolvo isso?

R
public Conta selecionarConta(numeroConta){

Esta faltando o tipo do parametro

public Conta selecionarConta(Integer numeroConta){
Criado 10 de março de 2008
Ultima resposta 11 de mar. de 2008
Respostas 5
Participantes 2