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???