Finalizando Exercicio Cidade Urgente

Boa tarde, então preciso terminar o código abaixo, no caso será cadastrado 7 cidades com distancias aleatórias entre cada uma, porém a distancia minima entre elas e 5 é a máxima de um cidade até a outra e 30. O usuario terá a opção de Cadastrar o nome da cidade, prefeito, numero de habitantes é terá a opção de visualizar as cidades cadastradas, pesquisar cidade é as cidades vizinha, visualizar a melhor rota entrar uma cidade e a outra.
Então fiz o código até aqui porém não consigo terminar, preciso da ajuda de alguém.

package Trabalho.Inf.B;

import javax.swing.JOptionPane;
import java.util.ArrayList;

public class Principal {
    public static void main(String[] args){
        String City, nCidade, nHabitantes, prefeito, vizinhos;
        int x = 0, cont =1;
                        
        City = JOptionPane.showInputDialog(null,"|ESCOLHA A OPÇÃO DESEJADA|" 
                + "\n1) CADASTRAR CIDADE"
                + "\n2) MOSTRA CIDADES CADASTRADAS"  
                + "\n3) PESQUISAR CIDADE"
                + "\n4) MELHOR ROTA","|ROTA FELIZ|", JOptionPane.PLAIN_MESSAGE);
        
        do {
        if(City.toUpperCase().equals("1")){
            nCidade = JOptionPane.showInputDialog(null,"Nome Da Cidade: ","CADASTRO", JOptionPane.PLAIN_MESSAGE);
            nHabitantes = JOptionPane.showInputDialog(null,"QUANTIDADE DE HABITANTES: ","CADASTRO", JOptionPane.PLAIN_MESSAGE);
            prefeito = JOptionPane.showInputDialog(null,"NOME DO PREFEITO: ","CADASTRO", JOptionPane.PLAIN_MESSAGE);
            vizinhos = JOptionPane.showInputDialog(null,"VIZINHOS: ","CADASTRO", JOptionPane.PLAIN_MESSAGE);
            x = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite qualquer tecla para sair ou 0 para cadastrar outra cidade"));
        }cont++;
        }while ((x==0)&&(cont<=7));
    
        if(City.toUpperCase().equals("2")){
            
        }
        
    }
}

Cria uma classe Cidade e faz o cadastro preenchendo ela.
Guarda as cidades em um vetor de tamanho 7.

Faz estrutura de repetição para o menu com um switch dentro, ai dependendo da opção, você chama o método.

Faz um método para mostrar o menu.
Outro para cadastrar as cidades. ( na distância usa a classe Random)
Outro para filtrar as vizinhas de acordo com a distância (ordenar por distância) e por ai vai.

Rapaz kkkkkk tem um exemplo ?

conseguiu fazer?

Sim.

ei manda p mim seu.O meu ta faltando filtrar as vizinhas.

Senai kk?

vasco coutinho pronatec

putz eles passam os mesmos exercícios kk
sou pronatec no Senai.
Então não consegui fazer o código todo e abandonei.