SoloCodigo

Programación General => Java => Mensaje iniciado por: thinlizzy en Sábado 16 de Marzo de 2013, 17:52

Título: no puedo ejecutar la funcion while
Publicado por: thinlizzy en Sábado 16 de Marzo de 2013, 17:52
tengo un problema no puedo ejecutar esta funcion while, simplemente es preguntar si quiero seguir con la ejecucion o simplemente salir, todo esto con while, los codigos estan ok, solo que while no lo puedo hacer funcionar....

gracias, espero me puedan ayudar en este pequeño problema :jumpie:


________________________________________________________________
Código: Java(TM) 2 Platform Standard Edition 5.0
  1. package ejemplo1;
  2. import java.util.Scanner;
  3. public class ingresar_tecla
  4. {
  5.  
  6.  
  7.     public static void main(String[] args)
  8.          
  9.  String control = "s";
  10.  while(control="s")
  11.    
  12.     {
  13.         Scanner input = new Scanner (System.in);//creamos el input
  14.         System.out.println("ingrese palabra 1 :");
  15.         String resp01 = input.next();
  16.        
  17.         System.out.println("ingrese palabra 2 :");
  18.         String resp02 = input.next();
  19.        
  20.         //COMPARA DOS STRING PARA VER SI SON IGUALES
  21.         System.out.println("Respuesta : " + resp01.equals(resp02));
  22.        
  23.         System.out.println("EN MINUSCULA: "+resp01.toLowerCase()); //minuscula
  24.         System.out.println("EN MAYUSCULA: "+resp02.toUpperCase());//mayuscula
  25.        
  26.         //DETECTA EL LARGO DE UN STRING
  27.         int largo = resp01.length();
  28.         System.out.println("LOS CARACTERES DE LA PALABRA1 ES: "+largo);
  29.        
  30.        
  31.         //BUSCA DENTRO DE UN TEXTO UNA CADENA DE CARCTS....
  32.         String texto01="texto de muestra" +"text2 LINUX"+"text3";
  33.         int busca=texto01.indexOf("LINUX");
  34.                 System.out.println(busca);
  35.        
  36.         System.out.println("DESEA SALIR S/N");
  37.         control=input.next();
  38.        
  39.     }
Título: Re:no puedo ejecutar la funcion while
Publicado por: ProfesorX en Domingo 17 de Marzo de 2013, 16:24
Hola thinlizzy.

Me parece que te falta ==, deberia ser:

 while(control == "s")

Título: Re:no puedo ejecutar la funcion while
Publicado por: thinlizzy en Martes 19 de Marzo de 2013, 19:18
nop, me sigue dando un error nose como solucionar este sencillo paso. ajjaj
Título: Re:no puedo ejecutar la funcion while
Publicado por: herzdark en Martes 19 de Marzo de 2013, 22:51
soy muy novato en java pero la class String esta en c++ x eso no seria mejor poner así?

Código: Java
  1. while(control.compareTo("s"))
Título: Re:no puedo ejecutar la funcion while
Publicado por: arielb en Jueves 21 de Marzo de 2013, 15:21
Hola, el problema principal que tienes es de lógica.

Porque si haces como te dijo el amigo profesorX

Código: Java(TM) 2 Platform Standard Edition 5.0
  1. while(control == "s")

Debe funcionar, el problema es que tú mensaje dice: "DESEA SALIR S/N" y si presionas s el programa seguirá y si presionas n el saldrá.
En dicho caso podría ser:
 
Código: Java(TM) 2 Platform Standard Edition 5.0
  1. while(control != "s")

Digo podría porque estás evaluando cadenas y para la evaluación de cadenas se usa el método equals()

Código: Java(TM) 2 Platform Standard Edition 5.0
  1. while (!control.equals("s"))

Usando el signo de adminiración para decirle que sea distinto y no igual.
Título: Re:no puedo ejecutar la funcion while
Publicado por: Reyesjjj en Jueves 23 de Abril de 2015, 22:46
Buenas tardes , espero poder ayudar ya que estoy inciando recien en este mundo de java

en efecto , el error estaba en al sentecia 13

 while(control=="s")

la resultante del codigo seria el siguiente con un compilador online :


   Éxito   time: 0.14 memory: 321088 signal:0

ingrese palabra 1 :
ingrese palabra 2 :
Respuesta : false
EN MINUSCULA: papa
EN MAYUSCULA: PALANGANA
LOS CARACTERES DE LA PALABRA1 ES: 4
22