Boa tarde. Será que me podem ajudar neste código?
Estou com um pequeno erro. Tenho o código na classe Paises para pesquisar os dados do país através da introdução da sigla mesmo. O método da classePrincipal recebe os valores por parâmetro da classePrincipal mas esta dá-me erro na linha de código (que está assinalado com um comentário).
Código na classe Paises:import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Paises {
//campos
Pais [] p = new Pais[8]; //array da classe Pais
Scanner ler = new Scanner(System.in);
//pesquisar países através da sigla
public int PesquisarSigla(String txt){
for(int ps=0; ps<8;ps++){
if(txt.equalsIgnoreCase(p[ps].sigla)){
return ps;
}
}
return -1;
}
}
import java.io.IOException;
import java.util.Scanner;
public class ClassePrincipal {
public static void main(String[] args) throws IOException {
Scanner ler = new Scanner(System.in);
int posicao = 0, opcao;
String txt="";
// objecto da classe Paises
Paises p1 = new Paises();
// menu
do {
System.out.println("Escolha a opção pretendida:\n" +
"1 - Pesquisa através da Sigla do País.\n" +
"2 - Pesquisa através do nome do País.\n" +
"3 - Total da população.\n" +
"4 - Listagem de todos os dados.\n" +
"5 - Sair.");
opcao = Integer.valueOf(ler.nextInt()).intValue();
switch (opcao) {
case 1:
System.out.println("Insira a sigla do País que pretende pesquisar: ");
txt = ler.next();
p1.PesquisarSigla(txt);
if(posicao= p1.PesquisarSigla()<-1){//erro nesta linha. já meti no parâmetro txt, ps e dá sempre erro.
System.out.println("Sigla: "+p1.p[posicao].sigla+" País: "+p1.p[posicao].nomePais+" População: "+p1.p[posicao].populacao);
}else{
System.out.println("Sigla não encontrada!");
}
break;
}
}
Fico grato pela vossa ajuda.
Cumprimentos noorders


