Método Busca em um vetor

2 respostas Resolvido
java
jairodione

Olá Pessoal!

Fiz um algoritmo de busca em um vetor de String. Segue o código descrito abaixo:

//inicio do metodo construtor

public static void main(String[] args) {

int qte = 2, x;

String num,num1;

boolean certo, achou;

String palavras[] = new String[qte];

//inicio do laço para gravar linha e horario

for (int l = 0; l < qte; l++) {

num = JOptionPane.showInputDialog(Linha e Horario[ + l + ]);

palavras[l] = num;

}
num1 = JOptionPane.showInputDialog("Digite a linha em que deseja ver o horario:");
    //inicio do laço para localizar e imprimir linha e horario
    for (int l = 0; l < qte; l++) {
        if(num1 == palavras[l]){
            JOptionPane.showMessageDialog(null, palavras[l]);
        }
    }
}

No log da ide NETBEANS informa que foi construído com sucesso, mas não mostra o resultado impresso:

if(num1 == palavras[l]){

JOptionPane.showMessageDialog(null, palavras[l]);

}

2 Respostas

B
Solucao aceita

Em vez do usuário digitar linha e horário ao mesmo tempo permita-o que deixe digitar um de cada vez.Sendo linha do tipo int e horário pode ser uma String mesmo.Faça dois vetores, um para linha e um para horário. Guarde os valores que o usuário digitou na mesma posição nos dois vetores.

String horario [] = new String[qtd];
int linha [] = new int[qtd];
for(int i=0;i<qtd;i++){
    int num = JOptionPane.showInputDialog(" Linha");
    String  hor= JOptionPane.showInputDialog("Horario");
    linha[i]=lin;
    horario[i]=hor;
}
int p= JOptionPane.showInputDialog(" Linha a ser encontrada:");
int pos=0;
  for(int i=0;i<qtd;i++){
      if(p==linha[i]){
          pos=i;
      }
  }
System.out.println("Horario da linha:"+hor[pos]);

Para mostrar o valor escolhido verifique a posição que está o valor da linha e procure no vetor de horarios a mesma posiçao. Você pode usar o System.out.println para mostrar o valor encontrado também

jairodione

Obrigado brunoi25!

Deu certo!!!

Criado 18 de dezembro de 2017
Ultima resposta 19 de dez. de 2017
Respostas 2
Participantes 2