Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: S4ms3pi0l__ en 6 Febrero 2018, 22:56 pm



Título: Problema con ciclo if [Java]
Publicado por: S4ms3pi0l__ en 6 Febrero 2018, 22:56 pm
Al encontrar el nombre que estoy buscando, además de enviarme el mensaje de que ha sido encontrado, también muestra en pantalla el mensaje de que no ha sido encontrado. Esto sucede cuando el programa busca posición por posición, o sea, si el nombre está en la posición 2, primero muestra el mensaje de que no ha sido encontrado, luego que sí y en el resto de posiciones que no. Sólo quiero que el programa muestre los mensajes una vez.

Código
  1.  
  2. package ejemplostring;
  3. import java.util.Scanner;
  4. import javax.swing.JOptionPane;
  5.  
  6. public class EjemploString {
  7.  
  8.    public static void main(String[] args) {
  9.        // TODO code application logic here
  10.        Scanner in = new Scanner(System.in);
  11.        String[] ID = new String[5];
  12.        String x;
  13.        for(int i=0;i<ID.length;i++){
  14.            System.out.print("Ingrese un nombre #"+i+": ");
  15.            ID[i] = in.next();
  16.        }
  17.        for(int i=0;i<ID.length;i++){
  18.            System.out.println("Nombres: "+ID[i]);
  19.        }
  20.        x = JOptionPane.showInputDialog("Ingrese el nombre que busca");
  21.        for(int i=0;i<ID.length;i++){
  22.            if(x.equals(ID[i])){
  23.                JOptionPane.showMessageDialog(null, "Nombre: "+ID[i]);
  24.            }else{
  25.                JOptionPane.showMessageDialog(null, "No encontrado");
  26.            }
  27.        }
  28.    }
  29.  
  30. }
  31.  


Título: Re: Problema con ciclo if [Java]
Publicado por: Serapis en 7 Febrero 2018, 01:46 am
Está claro que no entiendes lo que tienes escrito, de otro modo, sabrías lo que tienes que hacer...

Elimina esta sección del código:
Código
  1. }else{
  2.                JOptionPane.showMessageDialog(null, "No encontrado");

...pero todavía si existiera más veces, saldría el mensaje más veces...
Si solo quieres que lo muestre una vez, o bien cuando lo localice sales del bucle, o bien cuentas cuantas veces aparece y tras el bucle, resumes: "Encontrado x veces", donde x es la cuenta... incluso 0.



Título: Re: Problema con ciclo if [Java]
Publicado por: Fenrir_01 en 26 Mayo 2018, 16:04 pm

el problema que tiene seguro es que dentro del array (campos) introduces cualquier nombre, luego lo buscas y no te sale de esas forma.
En el código del buscador es donde esta el problema....
porque tenes que ir buscando por todos los (campos )del array usando una estructura while...

Es exactamente el problema que tengo yo.

Si lo pudiste resolver contarme yo estoy con ese problema.