• Domingo 17 de Noviembre de 2024, 14:37

Autor Tema:  no puedo ejecutar la funcion while  (Leído 4628 veces)

thinlizzy

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
no puedo ejecutar la funcion while
« en: Sábado 16 de Marzo de 2013, 17:52 »
0
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.     }
« última modificación: Jueves 21 de Marzo de 2013, 15:28 por arielb »

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:no puedo ejecutar la funcion while
« Respuesta #1 en: Domingo 17 de Marzo de 2013, 16:24 »
0
Hola thinlizzy.

Me parece que te falta ==, deberia ser:

 while(control == "s")


NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

thinlizzy

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re:no puedo ejecutar la funcion while
« Respuesta #2 en: Martes 19 de Marzo de 2013, 19:18 »
0
nop, me sigue dando un error nose como solucionar este sencillo paso. ajjaj

herzdark

  • Miembro activo
  • **
  • Mensajes: 38
  • Nacionalidad: ar
    • Ver Perfil
Re:no puedo ejecutar la funcion while
« Respuesta #3 en: Martes 19 de Marzo de 2013, 22:51 »
0
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"))

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re:no puedo ejecutar la funcion while
« Respuesta #4 en: Jueves 21 de Marzo de 2013, 15:21 »
0
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.
« última modificación: Jueves 21 de Marzo de 2013, 15:23 por arielb »
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

Reyesjjj

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:no puedo ejecutar la funcion while
« Respuesta #5 en: Jueves 23 de Abril de 2015, 22:46 »
0
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