Crie um algoritmo que permita manter um cadastro de cidades, com as seguintes funcionalidades:
[list] O limite de cidades cadastradas deve ser de 100;[/list]
[list] Para cada cidade é necessário cadastrar: nome, estado, quantidade de habitantes, PIB e DDD;[/list]
[list] A qualquer momento deve ser possível escolher entre cadastrar uma nova cidade ou pesquisar uma cidade existente. Para isso, deve ser exibido um menu ao usuário;[/list]
[list]A pesquisa de cidades deverá ser feita por nome;[/list]
[list] Deve haver uma opção no menu para sair do programa.[/list]
package Exercicio8;
import java.util.Scanner;
public class Exercicio8 {
public static int count=0;
public static void main(String[] args) {
Scanner scan= new Scanner(System.in);
int lin=100;
int col=5;
int op;
String[][] cidade=new String[lin][col];
do{
System.out.println("Escolha a opção\n1-Cadastrar Nova Cidade\n2-Pesquisar\n3-Sair");
op=scan.nextInt();
if(op==1){
cadastrar(cidade, lin, col);
}
if(op==2){
String nome;
System.out.print("Digite o nome para busca: ");
nome=scan.next();
pesquisar(cidade, lin, col,nome);
}
if(op==3){
System.exit(1);
}
else{
System.out.println("Digite uma opção valida!");
}
}while(op!=3);
}
public static void cadastrar(String[][] cidade,int lin, int col){
Scanner scan= new Scanner(System.in);
String nome="", estado, qtd_Hab, pib, ddd;
for(int i=count;i<count+1;i++){
for(int j=0;j<col;j++){
switch(j){
case 0:
System.out.println("Digite o nome da cidade nº"+(i+1));
nome=scan.next();
cidade[i][j]=nome;
break;
case 1:
System.out.println("Digite o estado da cidade "+nome);
estado=scan.next();
cidade[i][j]=estado;
break;
case 2:
System.out.println("Digite a quantidade de habitantes de "+nome);
qtd_Hab=scan.next();
cidade[i][j]=qtd_Hab;
break;
case 3:
System.out.println("Digite o pib de "+nome);
pib=scan.next();
cidade[i][j]=pib;
break;
case 4:
System.out.println("Digite o ddd da cidade "+nome);
ddd=scan.next();
cidade[i][j]=ddd;
break;
}
}
}
count++;
}
public static void pesquisar(String[][] cidade,int lin, int col,String name){
for(int i=0;i<lin;i++){
if(cidade[i][0].equals(name)){
System.out.println("Nome: "+cidade[i][0]);
System.out.println("Estado: "+cidade[i][1]);
System.out.println("Quantidade de habitantes: "+cidade[i][2]);
System.out.println("PIB: "+cidade[i][3]);
System.out.println("DDD: "+cidade[i][4]);
}
}
}
}
Se o usuario cadastrar as cidades e depois fazer uma busca a busca retomara a resposta certa mais aparece um erro no final.
Pq ta acontecendo isso???