Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Prpoblema encontrar valor dentro de String

Estas en el tema de Prpoblema encontrar valor dentro de String en el foro de Java en Foros del Web. Alguien me puede indicar porque este código no me encuentra los elementps del array? si introduzco los valores por el orden que tiene el array ...
  #1 (permalink)  
Antiguo 06/03/2013, 10:52
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 7 meses
Puntos: 1
Prpoblema encontrar valor dentro de String

Alguien me puede indicar porque este código no me encuentra los elementps del array? si introduzco los valores por el orden que tiene el array perfecto, si los invierto no los encuentra, llevo la L en Java y me estoy volviendo loco.
Código HTML:
Ver original
  1. public class pruebasNoms {
  2.     public static void main(String[]args){
  3.         Scanner teclat = new Scanner(System.in);
  4.         System.out.println("Escribe un nombre: ");
  5.          String[]Noms={"Juan","Luis","Pere"};
  6.         for(int i=0; i < Noms.length;i++){
  7.            String valor = teclat.nextLine();
  8.            if(Noms[i].equalsIgnoreCase(valor)){
  9.                System.out.println(valor + " se encuentra en el array");
  10.            }else{
  11.                System.out.println(valor + " no se encuentra en el array");
  12.            }
  13.        }
  14.    }
  15.    
  16. }

Última edición por Pike; 06/03/2013 a las 10:58 Razón: public class pruebasNoms { public static void main(String[]args){ Scanner teclat = new Scanner(System.in);
  #2 (permalink)  
Antiguo 06/03/2013, 10:59
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Prpoblema encontrar valor dentro de String

Eso es porque cuando introduces el nombre estás comprobando sólo la posición i

String valor = teclat.nextLine(); tienes que ponerlo antes del bucle.... luego puedes hacer un loop para que siga pidiendo mas nombres o introduzcas un texto concreto para salir.

^-^
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 06/03/2013, 11:16
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Prpoblema encontrar valor dentro de String

Hacer un loop es recorrer de nuevo el array con un bucle?...para comprobar las posiciones si uso length me dice que no es de tipo string

Gracias por tu respuesta

Última edición por Pike; 06/03/2013 a las 11:23
  #4 (permalink)  
Antiguo 06/03/2013, 11:26
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Prpoblema encontrar valor dentro de String

String valor = "";
String exitValue = "salir";
while !valor.equalsIgnoreCase(exitValue) {
valor = teclat.nextLine();
for(int i=0; i < Noms.length;i++){
String valor = teclat.nextLine();
if(Noms[i].equalsIgnoreCase(valor)){
System.out.println(valor + " se encuentra en el array");
}else{
System.out.println(valor + " no se encuentra en el array");
}
}
}

De esta manera cuando escribas el texto salir, la aplicación finalizará. Si no lo escribes seguirá pidiendo nombres.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #5 (permalink)  
Antiguo 06/03/2013, 11:38
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Prpoblema encontrar valor dentro de String

Vale, pero seguimos con el mismo problema, cuando invierto el orden de entrada por teclado y escribo Pere de primero no lo encuentra en el array, sigi evaluando la posición i.

Un saludo
  #6 (permalink)  
Antiguo 06/03/2013, 12:17
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Prpoblema encontrar valor dentro de String

String valor = "";
String exitValue = "salir";
while !valor.equalsIgnoreCase(exitValue) {
valor = teclat.nextLine();
boolean encontrado = false;
for(int i=0; i < Noms.length;i++){
// Linea eliminada
if(Noms[i].equalsIgnoreCase(valor)){
encontrado = true;
break;
}
}


if (encontrado) {
System.out.println(valor + " se encuentra en el array");
} else {
System.out.println(valor + " no se encuentra en el array");
}

}

ESPERO QUE ASI TE VALGA
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #7 (permalink)  
Antiguo 06/03/2013, 12:28
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Prpoblema encontrar valor dentro de String

Gracias, si me ha servido, para entender cual era el problema sobre todo, muchas gracias por tu ayuda y paciencia...

Un saludo

Etiquetas: string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:55.