Hola! estoy haciendo un programa donde quiero buscar un valor dentro de un arreglo, esto dentro de un metodo de una clase.
[code=java]
public void colocar (String buscar) {
for ( i=0, i< arreglo.length; i++ )
if ( this.nombre == buscar )
}
}
[/code]
nombre es el valor que quiero buscar.
public void colocar (String [] buscar)
{
for(String arreglo:buscar)
{
if( this.nombre == arreglo )
{
System.out.println("Se encontro");
}
}
}
Supongo que podria hacerse asi no?
Olvide comentar que el arreglo es bidimensional.
EL codigo que me pasaste lo he modificado a esto:
[code]public void colocar (String [][] buscar)
{
for(String arreglo:buscar)
{
if( this.nombre == arreglo )
{
System.out.println("Se encontro");
}
}
}
[/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:
[code]for ( i=0; i<2; i++ )
for ( j=0; j<2; j++ )
casilla[i][j].colocar (local);
[/code]
Bueno ya veo como va la cosa (creo), pero si el arreglo es bidimensional, lo que decearia saber que es la variable local
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
colocar(casilla);
colocar
private static void colocar (String [][] buscar)
{
for(int i=0;i<buscar.length;i++)
{
for(int x=0;x<buscar[i].length;x++)
{
if( this.nombre == buscar[i][x] )
System.out.println("Se encontro");
}
}
}
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.
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?
/**
* @(#)BusquedaBidimensional.java
*
*
* @author 1mpuls0
* @version 1.00 2011/3/15
*/
public class BusquedaBidimensional {
public static void main(String args[]) {
new BusquedaBidimensional();
}
public BusquedaBidimensional() {
String arreglo[][] = { { "Juan", "Pedro", "Maria", "Jorge" },
{ "Pablo", "Perla", "Eva", "Gabriela" },
{ "Yesenia", "Giovani", "Edith", "Jesus" } };
String nombre="Juan";
if(existeElemento(arreglo, nombre))
System.out.println(nombre +" se encuentra en el arreglo");
else
System.out.println(nombre +" no se encuentra en el arreglo");
}
private boolean existeElemento(String [][] arreglo, String elemento) {
int filas = arreglo.length;
int columnas = arreglo[ 0 ].length;
boolean encontrado=false;
for ( int fila = 0; fila < filas; fila++ )
for ( int columna = 0; columna < columnas; columna++ )
if ( arreglo[ fila ][ columna ].equals(elemento) )
encontrado=true;
return encontrado;
}
}
Si puedo mas tarde comento bien.
Mientras revisa el código.
Saludos.