Olá pessoal, será que vocês poderia me ajudar nesse código? O programa cadastra os clientes e cachorros de uma PetShop em um array, mas, quando uso a opção Cadastrar, o último cliente cadastrado fica em todas as outras posições do array também!!! O que pode ser? :?
Classe Cadastro
package CadPetShop;
import javax.swing.JOptionPane;
public class Cadastro {
static Cliente clientes[] = null;
static Cachorro cachorros[] = null;
static String lista;
static int confirma = -1;
static int j = 0;
public static void main(String[] args) {
String op = "";
int opcao = -1;
do {
op = JOptionPane.showInputDialog("SISTEMA PETSHOP - v1.0:\n\n"
+ "1 ~> Cadastrar Clientes.\n"
+ "2 ~> Consultar Clientes.\n"
+ "3 ~> Cadastrar Cachorros.\n"
+ "4 ~> Consultar Cachorros.\n" + "5 ~> Sair.\n\n");
if (op == null) {
op = "0";
}
opcao = Integer.parseInt(op);
if (opcao == 1) {
CadastrarCliente();
} else if (opcao == 2) {
ConsultarCliente();
} else if (opcao == 3) {
CadastrarCachorros();
} else if (opcao == 4) {
ConsultarAnimais();
} else if (opcao == 5 || opcao == 0) {
Sair();
} else {
JOptionPane.showMessageDialog(null, "Opção Inválida!!!");
}
} while (confirma != 0);
}
public static void CadastrarCliente() {
int QuantClient;
String Quant = JOptionPane
.showInputDialog("- CADASTRAR CLIENTE:\n\nQuantos Clientes Deseja Cadastrar: ");
if (Quant == null) {
Quant = "0";
}
QuantClient = Integer.parseInt(Quant);
clientes = new Cliente[QuantClient];
for (int i = 0; i < clientes.length; i++) {
clientes[i] = new Cliente();
}
for (int i = 0; i < QuantClient; i++) {
clientes[i]
.setNome(JOptionPane
.showInputDialog("- CADASTRAR CLIENTE:\n\nDigite o Nome do Cliente: ("
+ (i + 1) + "/" + QuantClient + ")"));
clientes[i]
.setDataDeNasc(JOptionPane
.showInputDialog("- CADASTRAR CLIENTE:\n\nDigite a Data de Nascimento do Cliente: "
+ clientes[i].getNome()
+ "\nOBS: Use o padrão dia/mês/ano\n\n"));
}
for (int i = 0; i < QuantClient; i++) {
JOptionPane.showMessageDialog(null, clientes[i].getNome());
}
JOptionPane.showMessageDialog(null, "Clientes Cadastrados!");
}
public static void ConsultarCliente() {
if (clientes == null) {
JOptionPane
.showMessageDialog(null,
"- CONSULTAR CLIENTE:\n\nVocê precisa cadastrar pelo menos 1 Cliente!\n\n");
} else {
int total = 1;
lista = "";
for (int i = 0; i < clientes.length; i++) {
lista += "Cliente " + (i + 1) + "\n";
lista += "Nome: " + clientes[i].getNome() + "\n";
lista += "Data de Nascimento: " + clientes[i].getDataDeNasc()
+ "\n";
lista += "\n\n";
total++;
}
JOptionPane.showMessageDialog(null, "- CONSULTAR CLIENTE:\n\n"
+ "Total de " + (total - 1) + " Clientes Cadastrados:\n\n"
+ lista);
}
}
public static void CadastrarCachorros() {
// Implementar
}
public static void ConsultarAnimais() {
// Implementar
}
public static void Sair() {
confirma = JOptionPane.showConfirmDialog(null,
"Quer mesmo Sair do Programa?");
}
}
Classe Cliente
package CadPetShop;
public class Cliente {
private static String nome;
private static String dataDeNasc;
public static String getNome() {
return nome;
}
public static void setNome(String name) {
nome = name;
}
public static String getDataDeNasc() {
return dataDeNasc;
}
public static void setDataDeNasc(String date) {
dataDeNasc = date;
}
}
Classe Cachorro
package CadPetShop;
public class Cachorro {
private static String apelido;
private static String raca;
private static String dataDeNiver;
public static String getApelido() {
return apelido;
}
public static void setApelido(String apelido1) {
apelido = apelido1;
}
public static String getRaca() {
return raca;
}
public static void setRaca(String raca1) {
raca = raca1;
}
public static String getNiver() {
return dataDeNiver;
}
public static void setNiver(String niver) {
dataDeNiver = niver;
}
}