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

Bucle While en java....

Estas en el tema de Bucle While en java.... en el foro de Java en Foros del Web. Bueno, esta pregunta les parecera bastante estupida, disculpenme por favor, pero he estado buscando informacion al respecto y no encuentro algo que me solvente mi ...
  #1 (permalink)  
Antiguo 17/07/2009, 19:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Bucle While en java....

Bueno, esta pregunta les parecera bastante estupida, disculpenme por favor, pero he estado buscando informacion al respecto y no encuentro algo que me solvente mi duda. Entendi bien el ciclo while en Java:

while (expresión_booleana) {
instrucciones…
}

en todos los ejemplos que he visto del bucle while, la expresion booleana son números (mientras sea menor que x, mientras sea mayor que y, etc.) mi duda es si en esa expresion booleana puedo manejar cadenas de caracteres en vez de numeros (mientras sea diferente de "palabra" o mientras sea igual que "palabra") y si es asi, como se hace porque no he podido solventar esta duda, intenté este ejemplo.

String clave = "clave";
while (clave != "clave") {
clave = JOptionPane.showInputDialog("Introduce la clave");
}

Creo que sobra decir que si bien no me marco error no obtuve la respuesta esperada, pues nunca salio del bucle, alguien podria explicarmelo por favor??? de antemano muchas gracias. Saludos.
  #2 (permalink)  
Antiguo 17/07/2009, 21:27
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Bucle While en java....

la manera de comparar cadenas no es de esa forma, antes de buscar en cualquier otro lado primero checa las API's de Java http://java.sun.com/javase/6/docs/api/

ahora tmb hay q saber usarlas, primero vemos q estas trabajando con cadenas asi q buscamos la clase String o StringBuffer, en tu caso String, luego buscamos un metodo que nos diga si una cadena es igual a otra y que nos regrese un booleano, vemos que hay 2 opciones
boolean equals(Object anObject)
Compares this string to the specified object.

y
boolean equalsIgnoreCase(String anotherString)
Compares this String to another String, ignoring case considerations.


la primera nos dice que compara el String en cuestion con cualquier otro objeto, asi que al compararlo con otro String lo que compara es el contenido, cuando lo comparas contra otros objetos toma en cuenta otros aspectos que por ahora no son reelevantes

La segunda dice que compara el String en cuestion con otro Stirng ignorando si son mayusculas o minusculas

Aqui la cuestion es que tu decidas cual es el que te ayuda mejor con tu problema. Ya la implementacion te la dejo a ti, cualquier otra duda no dudes, valga la redundancia, en preguntar

Saludos
  #3 (permalink)  
Antiguo 18/07/2009, 07:12
 
Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Bucle While en java....

Muchas gracias por la respuesta, la verdad ha sido un cambio, pues antes de java estudie lo basico de C# y pues veo que si cambia algunas cosas. Gracias de nuevo.
  #4 (permalink)  
Antiguo 18/07/2009, 08:21
Avatar de hwongu  
Fecha de Ingreso: junio-2008
Ubicación: Trujillo
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Bucle While en java....

Tambien hay otra forma de comprar dos string si deseas

String clave = "clave2";
while (clave.compareToIgnoreCase("clave")!=0) {
clave = JOptionPane.showInputDialog("Introduce la clave");
}

cuando ese metodo compareToIgnoreCase te devuelve un valor de 0 es porque son iguales
caso contrario te devuelve un valor diferente a 0

Saludos
  #5 (permalink)  
Antiguo 20/07/2009, 08:48
 
Fecha de Ingreso: enero-2009
Ubicación: Morelia Mich
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Bucle While en java....

o puedes usar IndexOf, este busca similitudes dentro de la cadena en base a los índices de caracteres, es como

while (e1.indexOf("already exists")>-1 )
{ error="Tabla ya existe";}

Claro por da un ejemplo, este método, devuelve 0 si existe ese contenido en la cadena.
Me ha sido de gran ayuda comparando cadenas
  #6 (permalink)  
Antiguo 21/07/2009, 04:20
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Bucle While en java....

Una "expresión booleana" es cualquier cosa que devuelva un boolean como resultado. Así que cualquier metodo o operador que devuelva true o false sirve como condición. Para el bucle, para el if/else...

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
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 11:32.