Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Jorge lopez en 03 de Agosto 2014, 08:00

Título: Ayuda! CU00670B curso java JOptionPane
Publicado por: Jorge lopez en 03 de Agosto 2014, 08:00
 He estado tratando de realizar el ejercicio CU00670B para el cual ya encontré respuesta, he logrado compilar el código pero al ejecutar el main, el programa presenta las siguientes anomalías: 1ro: no muestra por pantalla el mensaje Introduzca un número:" . y 2do: al escribir en la entrada de teclado y pulsar enter, el programa entra en bucle infinito, permitiéndome infinitas entradas.

Reduci el codigo hasta esta sintaxis para verificar que el bucle infinito no es por causa de algun codigo propio erroneo:
Código: [Seleccionar]
import javax.swing.JOptionPane;
public class TestConversion
{
  public static void main (String[] Args)
  {
   String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
  }
}
donde se supone que con esta sintaxis, el programa deveria desplegar el mensaje Introduzca un número:" y seguidamente una entrada de teclado, y al pulsar enter se debería detener el JVM y asignar lo escrito como valor de la variable entradaUsuario.

pero contrario a esto el JVM no se detiene y se queda como bucle sin salida pidiendo entradas.

ayuda : :(
Título: Re:Ayuda!
Publicado por: toni_apr en 03 de Agosto 2014, 08:38
Hola Sniper

Para ver el error del bucle infinito deberás poner el resto del código ???
En el que envías solo se muestra un mensaje.

Sal U2
Título: Re:Ayuda! CU00670B curso java
Publicado por: Jorge lopez en 04 de Agosto 2014, 02:41
 Ese es todo el código que tengo en la clase, y no hace lo que se supone debe hacer, que es mostrar un mensaje, pedir una entrada y al pulsar enter detener el JVM, al parecer el problema no es del código sino de mi ordenador o del JVM  :-\
Título: Re:Ayuda! CU00670B curso java
Publicado por: toni_apr en 04 de Agosto 2014, 07:08
Hola Sniper.

A mi me pasaba algo parecido.
Si tenía muchas ventanas abiertas en el escritorio, o cubrían el centro, la ventana que muestra el código queda detrás de las otras, sobre todo si haces clic en cualquiera de ellas.

Solución: despeja la parte central de la pantalla.

Nota: En el código de este ejercicio falta una línea
Citar
System.out.println ("El doble del número introducido es: " + 2*entradaUsuario);
que da el resultado por la ventana de Bluej

Sal U2
Título: Re:Ayuda! CU00670B curso java
Publicado por: Jorge lopez en 04 de Agosto 2014, 17:31
 Ya he podido solucionar el "problema".
El problema era que al ejecutar el main del código:
Código: [Seleccionar]
import javax.swing.JOptionPane;
public class ejemplo1 {
    public static void main (String[] Args) {
        String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
}

la ventana que me salia era solo la ventana de salida, donde yo pensaba erróneamente que esta debía de mostrar el mensaje "Introduzca un número:" y recibir una entrada por esa misma ventana, yo ignoraba que al invocar el main saltaban 2 ventanas, una que despliega el mensaje "Introduzca un número:" y recibe la entrada y otra que se supone mostrara un mensaje de salida (el cual no declare a propósito). La primera ventana se estaba quedando en el escritorio de la pc, debajo de otras ventanas como la de bluej, chrome, entre otras y como ignoraba su existencia y solo me salia la primera ventana, yo pretendía ver el mensaje: "Introduzca un número:" escribir un numero y ver el resultado todo en una sola ventana. Son pequeñeces que aveces nos complican la vida, pero como dicen por ahí: el que no sabe es como el que no ve  ;D.
muchas gracias por contestar toni.
Saludos!