Tenho um programa que lê um arquivo txt com nomes de cidades, latitudes e longitudes, e retorna as 10 cidades mais próximas, queria saber como posso fazer para retornar uma mensagem quando o nome da cidade não for encontrado.
public static void main(String[] args) throws IOException {
String caminhoSaida ="D:\\users\\f60858c\\Downloads\\coordenadas\\txt\\resultado.txt";
ArrayList<Municipio> municipios = new ArrayList();
ArrayList<Municipio> municipiosProximos = new ArrayList();
Scanner entrada = new Scanner(System.in);
String municipioPesquisa;
FileWriter arq = new FileWriter(caminhoSaida);
PrintWriter gravarArq = new PrintWriter(arq);
try {
FileReader arquivo = new FileReader("D:\\users\\f60858c\\Downloads\\coordenadas\\txt\\municipios.txt");
BufferedReader texto = new BufferedReader(arquivo);
DecimalFormat df = new DecimalFormat("0.00");
String linha = "";
linha = texto.readLine();
while (linha != null) {
//System.out.println(linha);
String[] itens = linha.split(";");
Municipio municipio = new Municipio();
municipio.setLatitude(Double.parseDouble(itens[0].replace(",", ".")));
municipio.setLongitude(Double.parseDouble(itens[1].replace(",", ".")));
municipio.setNome(itens[3]);
municipio.setEstado(itens[4]);
municipio.calcularDistanciaBH();
municipios.add(municipio);
linha = texto.readLine();
}
arquivo.close();
System.out.println("Digite o nome da Cidade pesquisada:");
municipioPesquisa = entrada.nextLine();
for (Municipio municipio1 : municipios) {
if (municipio1.getNome().equalsIgnoreCase(municipioPesquisa)) {
for (Municipio municipioComparado : municipios) {
municipio1.calcularDistancia(municipioComparado);
if (municipioComparado.getNome().equalsIgnoreCase(municipioPesquisa)) {
continue;
} else {
municipiosProximos.add(municipioComparado);
}
}
gravarArq.println("Resultado:");
gravarArq.println("Distancia de " + municipio1.getNome() + " até BH: " + municipio1.getDistanciaBH() + "km");
Collections.sort(municipiosProximos, new ComparadorCidades());
}
}
int hank=1;
for (int i = 0; i < 10; i++) {
gravarArq.println(hank+"º Distância de " + municipioPesquisa.toUpperCase() + " até " + municipiosProximos.get(i).getNome() + " " + municipiosProximos.get(i).getDistancia() + "km.");
hank++;
}
arq.close();
System.out.println("Pesquisa concluída com Sucesso!Você encontra o resultado em: "+caminhoSaida);
} catch (FileNotFoundException ex) {
//Logger.getLogger(Coordenadas.class.getName()).log(Level.SEVERE, null, ex);
}
}
}