Gostaria de uma ajuda com meu sistema. Consigo realizar cadastro normal no vetor mas queria que assim que quisesse cadastrasse novamente ele não contasse o vetor do inicio e sim perguntasse qual espaço do vetor desejo salvar. Segue código de cadastro abaixo:
switch (menu) {
case 1:
opc_menu = Integer.parseInt(JOptionPane.showInputDialog("Quantos cadastros deseja realizar?: "));
for (i = 1; i <= opc_menu; i++) {
nome[i] = JOptionPane.showInputDialog("Nome: ");
endereco[i] = JOptionPane.showInputDialog(null, "Endereço: ");
email[i] = JOptionPane.showInputDialog(null, "Email: ");
}
break;
}
Ao invés de ter um array de objetos do tipo String para os nomes, um array de objetos do tipo String para os endereços e um array de objetos do tipo String para os emails, não seria melhor você ter apenas um array de objetos do tipo Cadastro?
Ajudou muito essa ideia, o Array pensei em fazer como disse mas no trabalho passado pela instituição que faço parte o professor não permite ser implementado dessa forma. Salvando no vetor dessa forma eu poderia adicionar algo assim?
if(posicao == nome[posicao])
{
JOptionPane.showMessageDialog("Espaço já preenchido: ");
}
Para poder dar condição de erro em caso de tentar sobrescrever ou adicionar em um cadastro que já exista.
if (nome[posicao] != null) {
JOptionPane.showMessageDialog("Espaço já preenchido: ");
}
else{
int posicao = Integer.parseInt(JOptionPane.showInputDialog("Qual espaço do vetor desejo salvar?: "));
nome[posicao] = JOptionPane.showInputDialog("Nome: ");
endereco[posicao] = JOptionPane.showInputDialog(null, "Endereço: ");
email[posicao] = JOptionPane.showInputDialog(null, "Email: ");
}
Assim eu consigo cadastrar digamos um valor na posicao 1 e quando for cadastrar de novo se eu colocar na posicao 1 ele exibe que ela já está preenchida? Porque estou tentando fazer algo assim dar certo.
for (i = 1; i <= opc_menu; i++) {
posicao = Integer.parseInt(JOptionPane.showInputDialog("Qual espaço do vetor desejo salvar?: "));
if (nome[posicao] == null) {
nome[posicao] = JOptionPane.showInputDialog("Nome: ");
} else if (nome[posicao] != null) {
JOptionPane.showMessageDialog(null, "Espaço já preenchido: ");
}
}
Queria teu auxílio de novo para fazer o posicao começar a partir do valor 1 pois quando salvo algum dado ele começa do 0 então se eu salvar na posição 2 assim dizendo eu só posso acessar se digitar o número 3. Tem como fazer isso?
De alguma forma está dando para salvar no campo 1 e visualizar digitando 1, dessa forma:
int n = 100;
int posicao = n;
String nome[] = new String[n];
for (i = 1; i <= opc_menu; i++) {
posicao = Integer.parseInt(JOptionPane.showInputDialog("Qual espaço do vetor desejo salvar?: "));
if (nome[posicao] == null) {
nome[posicao] = JOptionPane.showInputDialog("Nome: ");
} else if (nome[posicao] != null) {
JOptionPane.showMessageDialog(null, "Espaço já preenchido: ");
}
}
O que queria é fazer o que me auxiliou, só que é um trabalho escolar e queria fazer com que salvasse no campo 1 e fosse possível visualizar nele mesmo para não ter um “problema” de entendimento do sistema. Mas deu certo assim, muito obrigado pela ajuda.