Título: (Consulta) Posible BUG en Java Publicado por: class_OpenGL en 2 Octubre 2017, 09:16 am Hola, buenas.
Estoy haciendo ejercicios de un libro de Java. En un ejercicio, se me pedía el uso de archivos: Citar Realiza un programa que nos diga si hay probabilidad de que nuestra pareja nos está siendo infiel. El programa irá haciendo preguntas que el usuario contestará con verdadero o falso. Cada pregunta contestada como verdadero sumará 3 puntos. Las preguntas contestadas con falso no suman puntos. Utili- za el fichero test_infidelidad.txt para obtener las preguntas y las conclusiones del programa. El problema que tengo no es de compilación (compila bien), sino de ejecución. Cuando lo ejecuto, se lee la primera línea del archivo, se imprime, y se pausa el programa para la entrada (como es de esperar). El problema es que al introducir un valor de entrada (booleana, por ejemplo, true), en una nueva línea se imprime true y el programa se para de nuevo. Si introduzco la entrada de nuevo, el programa hace lo que debería, pero en cada entrada hay que introducir dos entradas. Ejemplo: Código: ¿Ha sido fiel a su pareja? true # Ese true lo introduje por teclado. Pulso enter Los "# [...]" son comentarios que os hago para entender la ejecución. Este es el código que tengo: Código
test_infidelidad.txt Código: ¿Ha sido fiel a su pareja? Gracias por leer. Título: Re: (Consulta) Posible BUG en Java Publicado por: animanegra en 2 Octubre 2017, 10:17 am Primero, cuando algo no funcione no pienses nunca que es un bug, es siempre un fallo de programación tuyo.
Probablemente sea porque la representación del booleano en un archivo no es el string en ascii true o false. Si queires prueba a escribir en un fichero varios booleanos y mira la representación que tienen realmente al almacenarlos. Y o bien cambias tu forma de representacion de dicho booleano en el fichero donde tienes almacenadas las preguntas y sespuestas o bien quitate los booleanos y lee solo strings y compara strings todo el rato, al final ten en cuenta que la entrada por teclado cuando pones un true es una string que compone la palabra "true" no un booleano que vale true. Saludos. Título: Re: (Consulta) Posible BUG en Java Publicado por: class_OpenGL en 2 Octubre 2017, 14:55 pm Jaja. Ya sé que el tema de los BUGS es un tema que casi nunca se da, pero como había compilado el JDK no oficial con makepkg, pues pensé en los bugs automáticamente. Tenías razón, no es un BUG, es la representación del booleano. Al final he cambiado la representación en mi archivo. ¡Muchas gracias!
|