Bom, eu estou iniciando meu aprendizado na linguagem java. Atualmente estou tentando montar um projeto bem básico e primata sobre um cadastro bancário de um cliente.
Meu programinha consiste na seguinte ideia :
Gero um menu, onde existe a possibilidade de 4 operações : 1 - Cadastrar um nome + saldo. 2 - Exibir o saldo. 3 - Depositar um valor. 4 - Retirar o valor.
A principio eu consegui executar um código que executa todas as 4 operações, porém, por ser simples, meu código somente armazenava um único cliente, logo um único saldo.
Me veio a ideia de aprimorar utilizando a classe ArrayList, então eis que me surge uma grande ideia :
Quero armazenar vários clientes, e cada cliente com seu respectivo saldo bancário, podem me dar uma luz ?
Minha Classe Principal, que chama os métodos já criados.
[code]package br.com.marcosbuganeme.poo;
public class ClassePrincipal {
public static void main(String[] args) {
Metodos conta = new Metodos();
conta.validaMenu();
}
}
[/code]
Minha classe de Métodos
[code]package br.com.marcosbuganeme.poo;
import javax.swing.JOptionPane;
import java.util.ArrayList;
public class Metodos {
String cliente;
double saldo, insercaoSaldo, remocaoSaldo;
boolean operador = true;
ArrayList <String> clientes = new ArrayList<> ();
ArrayList <Double> saldos = new ArrayList<> ();
ArrayList <Double> insereSaldos = new ArrayList<> ();
ArrayList <Double> removeSaldos = new ArrayList<> ();
void cadastroCliente(){
cliente = JOptionPane.showInputDialog("Nome do cliente");
clientes.add(cliente);
saldo = Double.parseDouble(JOptionPane.showInputDialog("Saldo do cliente"));
saldos.add(saldo);
}
void exibeSaldo(){
JOptionPane.showMessageDialog(null, "Sr. " + cliente + " seu saldo é de: " + saldo);
}
void insereSaldo() {
insercaoSaldo = Double.parseDouble(JOptionPane.showInputDialog("Valor do deposito"));
saldo += insercaoSaldo;
exibeSaldo();
}
void retiraSaldo(){
remocaoSaldo = Double.parseDouble(JOptionPane.showInputDialog("Valor da retirada"));
if (remocaoSaldo > saldo){
JOptionPane.showMessageDialog(null, "Sr. " + cliente + " seu saldo não é suficiente para a realizar esse tipo de operação.");
} else {
saldo -= remocaoSaldo;
exibeSaldo();
}
}
void transfereSaldo(){
}
void validaMenu(){
while (operador == true){
int menu = Integer.parseInt(JOptionPane.showInputDialog("\n\tMenu\n"
+ "\n1 - Cadastrar Cliente"
+ "\n2 - Exibir saldo"
+ "\n3 - Depositar"
+ "\n4 - Retirarada"
+ "\n5 - Sair"));
switch (menu){
case 1:
cadastroCliente();
break;
case 2:
exibeSaldo();
break;
case 3:
insereSaldo();
break;
case 4:
retiraSaldo();
break;
case 5:
JOptionPane.showMessageDialog(null, "Software finalizado.");
operador = false;
break;
default:
JOptionPane.showMessageDialog(null, "Insira um numero valido.\nTente Novamente");
break;
}
}
}
}[/code]
Existe algumas inconsistências no meu código, porquê como já dito, eu estou tentando aprimorar adicionando ArrayList, a ideia que me surgiu foi de criar 4 tipos de listas, uma para cadastrar os nomes dos clientes, outra para cadastrar os saldos do cliente, outra para cadastrar o tanto que foi inserido e outra para cadastrar o que foi removido, porquê eu achei que seria mais fácil interligar esses dados, porém eu percebi que não tem como eu fazer uma ligação direta dos dados apenas com ArrayList, então cheguei na conclusão que eu devo utilizar algum laço de repetição para percorrer a lista e que possivelmente não necessito dos 4 tipos de ArrayList, porém eu já estou sem dormir a algum tempo hehe e não estou conseguindo mais pensar em novos métodos para implementar isso, por mais simples que possa ser xD
Obrigado pela atenção