elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ¿Como buscar dentro de un arreglo?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como buscar dentro de un arreglo?  (Leído 24,909 veces)
greenselves

Desconectado Desconectado

Mensajes: 73



Ver Perfil
¿Como buscar dentro de un arreglo?
« en: 15 Marzo 2011, 04:02 am »

Hola! estoy haciendo un programa donde quiero buscar un valor dentro de un arreglo, esto dentro de un  metodo de una clase.

Código
  1. [code=java]
  2.  
  3. public void colocar (String buscar) {
  4.  
  5. for ( i=0, i< arreglo.length; i++ )
  6. if ( this.nombre == buscar )
  7.  
  8. }
  9.  
  10. }
  11.  
[/code]

nombre es el valor que quiero buscar.



En línea

Greenselves
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: ¿Como buscar dentro de un arreglo?
« Respuesta #1 en: 15 Marzo 2011, 06:22 am »

Código
  1. public void colocar (String [] buscar)
  2. {
  3.  
  4.    for(String arreglo:buscar)
  5.    {
  6.        if( this.nombre == arreglo )
  7.        {
  8.            System.out.println("Se encontro");
  9.        }
  10.    }
  11.  
  12. }

Supongo que podria hacerse asi no?


En línea

greenselves

Desconectado Desconectado

Mensajes: 73



Ver Perfil
Re: ¿Como buscar dentro de un arreglo?
« Respuesta #2 en: 15 Marzo 2011, 15:04 pm »

Olvide  comentar que el arreglo es bidimensional.

EL codigo que me pasaste lo he modificado a esto:

Código
  1. [code]public void colocar (String [][] buscar)
  2. {
  3.  
  4.    for(String arreglo:buscar)
  5.    {
  6.        if( this.nombre == arreglo )
  7.        {
  8.            System.out.println("Se encontro");
  9.        }
  10.    }
  11.  
  12. }
[/code]

Pero me sale el siguiente error:

Reynas_3.java:26: incompatible types
found   : java.lang.String[]
required: java.lang.String
    for(String arreglo:buscar)
                       ^
Reynas_3.java:64: colocar(java.lang.String[][]) in Casilla cannot be applied to (java.lang.String)
      casilla[j].colocar (local);
                   ^
2 errors


ESta es la parte en el main en donde envio la cadena a buscar:

Código
  1. [code]for ( i=0; i<2; i++ )
  2.  
  3. for ( j=0; j<2; j++ )
  4.  
  5. casilla[i][j].colocar (local);
[/code]
En línea

Greenselves
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: ¿Como buscar dentro de un arreglo?
« Respuesta #3 en: 15 Marzo 2011, 18:37 pm »

Bueno ya veo como va la cosa (creo), pero si el arreglo es bidimensional, lo que decearia saber que es la variable local
Código:
for ( i=0; i<2; i++ )
 
for ( j=0; j<2; j++ )
 
casilla[i][j].colocar (local);
Ahi la estas usando y es lo que envias al metodo, pero que es lo que contiene ?
a como yo veo si en el arreglo a buscar es en el de casilla podria hacerse asi

Main
Código
  1. colocar(casilla);
  2.  

colocar
Código
  1. private static void colocar (String [][] buscar)
  2. {
  3.    for(int i=0;i<buscar.length;i++)
  4.    {
  5.        for(int x=0;x<buscar[i].length;x++)
  6.        {
  7.            if( this.nombre == buscar[i][x] )
  8.                System.out.println("Se encontro");
  9.        }
  10.    }
  11. }

Ya si no es asi, si pudieses poner todo el codigo del main estaria mejor asi se ve que tipo son y lo que se intenta hacer.
« Última modificación: 15 Marzo 2011, 18:38 pm por .mokk. » En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: ¿Como buscar dentro de un arreglo?
« Respuesta #4 en: 15 Marzo 2011, 19:14 pm »

MAL!

Estoy en horario de trabajo y no tengo mucho tiempo de explicar, pero me dio tiempo de hace un ejemplo.

1. Para comparar String no es de esa manera.
2. arreglo:buscar. Vienes de C?

Código
  1. /**
  2.  * @(#)BusquedaBidimensional.java
  3.  *
  4.  *
  5.  * @author 1mpuls0
  6.  * @version 1.00 2011/3/15
  7.  */
  8.  
  9.  
  10. public class BusquedaBidimensional {
  11.  
  12. public static void main(String args[]) {
  13. new BusquedaBidimensional();
  14. }
  15.  
  16.    public BusquedaBidimensional() {
  17.     String arreglo[][] = { { "Juan", "Pedro", "Maria", "Jorge" },
  18.                      { "Pablo", "Perla", "Eva", "Gabriela" },
  19.                      { "Yesenia", "Giovani", "Edith", "Jesus" } };
  20. String nombre="Juan";
  21. if(existeElemento(arreglo, nombre))
  22. System.out.println(nombre +" se encuentra en el arreglo");
  23. else
  24. System.out.println(nombre +" no se encuentra en el arreglo");
  25.  
  26.    }
  27.  
  28.    private boolean existeElemento(String [][] arreglo, String elemento) {
  29.      int filas = arreglo.length;
  30.      int columnas = arreglo[ 0 ].length;
  31.      boolean encontrado=false;
  32.  
  33.      for ( int fila = 0; fila < filas; fila++ )
  34.         for ( int columna = 0; columna < columnas; columna++ )
  35.            if ( arreglo[ fila ][ columna ].equals(elemento) )
  36.               encontrado=true;
  37.  
  38.      return encontrado;
  39.   }
  40.  
  41. }
  42.  


Si puedo mas tarde comento bien.

Mientras revisa el código.

Saludos.


« Última modificación: 3 Septiembre 2015, 18:45 pm por 1mpuls0 » En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines