Criei um vetor[5] e preciso validar se a informacao que eu estou inserindo se ela ja existe ou nao para isso preciso percorrer o vetor para verificar se ja existe a informacao.
O que esta ocorrendo se eu coloco o break ele nao percorre todo o vetor e nao valida se a placa ja existe ( nao posso inserir 2x a mesma placa) e se eu nao coloco o break ele nao finaliza e nao sai do for
ele da a msg que a placa esta cadastrada …e nao segue o fluxo do switch … o que posso fazer?
import java.text.DecimalFormat;
import java.util.Scanner;
import java.util.Vector;
public class Teste {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("#");
Passeio[] vp = new Passeio[5];
Carga[] vc = new Carga[5];
String validaPlaca;
String opcao = "";
String sair = "";
boolean valida = false;
int count = 0;
int i = 0;
int j = 0;
while (!opcao.equalsIgnoreCase("7")) {
System.out.print("\n##-Sistema de Gestao de Veiculos Menu - Principal-##\n");
System.out.print("|---------------------------------------------------|\n");
System.out.print("| Opção 1 - Cadastrar Veiculo de Passeio |\n");
System.out.print("| Opção 2 - Cadastrar Veiculo de Carga |\n");
System.out.print("| Opção 3 - Imprimir todos os Veiculos de Passeio |\n");
System.out.print("| Opção 4 - Imprimir todos os Veiculos de Carga |\n");
System.out.print("| Opção 5 - Imprimir Veiculos de Passeio pela placa |\n");
System.out.print("| Opção 6 - Imprimir Veiculos de Carga pela placa |\n");
System.out.print("| Opção 7 - Sair do Sistema |\n");
System.out.print("|---------------------------------------------------|\n");
System.out.print("\nDigite uma opção: ");
opcao = Leitura.entDados("") ;
switch (opcao) {
case "1":
System.out.print("\nOpcao Cadastrar Veiculo de Passeio Selecionado...\n");
vp[i] = new Passeio();
System.out.println("\nInforme a Placa: ");
validaPlaca = Leitura.entDados("");
for (int v = 0 ;v < vp.length;v++) { //NESTA VALIDACAO
if(vp[v] != null){
if(vp[v].getPlaca().equalsIgnoreCase(validaPlaca)){
System.out.println("A placa ja esta cadastrada");
break;
}
}else{
System.out.println("entra 4");
vp[i].setPlaca(validaPlaca);
//break;
}
}
System.out.println("\nInforme a Qtde Pistoes: " );
vp[i].getMotor().setQtdPist(Integer.parseInt(Leitura.entDados("")));
System.out.println("Deseja realizar um novo cadastro ? S/N");
sair = Leitura.entDados("");
while(sair.equalsIgnoreCase("S")){
i += 1;
vp[i] = new Passeio();
//--
System.out.println("\nInforme a Placa: ");
validaPlaca = Leitura.entDados("");
for (int v = 0 ;v < vp.length;) {
if(vp[v] != null){
if(vp[v].getPlaca().equalsIgnoreCase(validaPlaca)){
System.out.println("A placa ja esta cadastrada");
// break;
}
v += 1;
}else{
vp[i].setPlaca(validaPlaca);
//break;
}
}
//---
System.out.println("\nInforme a Qtde Pistoes: " );
vp[i].getMotor().setQtdPist(Integer.parseInt(Leitura.entDados("")));
System.out.println("Deseja realizar um novo cadastro no tipo Passeio ? S/N");
sair = Leitura.entDados("");
}//fim do while
break;
case "2":
System.out.print("\nEncerrando Sistema....Ate logo!");
break;
default:
System.out.print("\nOpcao Invalida...!");
break;
}
i += 1;
}
} // classe main
}