Soy nuevo en Java, estoy aprendiendo con el libro Como programar en Java de deitel, ya estoy en el capítulo 8 de 30 xD
Verán el problema es este:
Escriba una aplicación que simule el lanzamiento de monedas. Deje que el programa lance una moneda cada vez que el usuario seleccione la opción del menú “Lanzar moneda”. Cuente el número de veces que aparezca cada uno de los lados de la moneda. Muestre los resultados. El programa debe llamar a un método separado, llamado tirar, que no tome argumentos y devuelva falseen caso de cara, y true en caso de cruz.
Bueno pues he estado realizando el código, pero tengo un problema con el do -while, se supone que el do debe interpretar el final de ese bloque al encontrar el ";" seguido del while.
El código del do-while lo he hecho en un método aparte, pero al intentar cerrar el método con la llave de cierre, la llave cierra la llave del do "{", lanzando así errores.
Uso Netbeans y DrJava, Por favor disculpen si la duda les parece muy tonta, recién estoy aprendiendo.
Code:
Código
package juegomoneda; import java.util.Scanner; import java.util.Random; public class LanzarMoneda { private int cara; private int cruz; public void jugar() { // creamos la variable que represente la primera decision(opc) String opc; bienvenida(); // llamamos al metodo bienvenida para que de la bienvenida al usuario // pedimos que se elija una opcion opc = t.nextLine(); // si la opcion elegida es 'Salir' imprimimos un mensaje de salida if("S".equals(opc)) { // si la opcion elegida es 'Lanzar' tiramos la moneda if("L".equals(opc)) { // llamamos al metodo tirar que devuelve true si cae cara o false si cae cruz // almacenamos el resultado en la variable boolean resultado, si el valor devuelto // es true, aumentamos cara en 1, y si es false aumentamos cruz en 1 boolean resultado = tirar(); if(resultado == true) cara++; else cruz++; } segundoTiro(); } } // metodo que da la bienvenida al juego public void bienvenida() { } // metodo tirar, tira una moneda, si cae cara devuelve true, si cae cruz devuelve false public boolean tirar() { int moneda = 1 + generadorAleatorio.nextInt(2); if(moneda == 1) return true; else return false; } public void segundoTiro() { String opc2; boolean resultado; do{ // y preguntamos al usuario si quiere lanzarla nuevamente opc2 = t.nextLine(); if("Y".equals(opc2)){ // Hacemos lo mismo, llamar al metodo tirar y aumentar si es cara o cruz resultado = tirar(); if(resultado == true) cara++; else cruz++;} while("Y".equals(opc2)); // Se repite el lanzamiento mientras la opcion elegida sea //'Si, Lanzar' // Si despues del 1er tiro el usuario no quiere seguir jugando, imprimimos un //mensaje de salida // e imprimimos los resultados del juego if("N".equals(opc2)) { } } // Esta llave debería indicar el fin del método segundoTiro } // Y esta el fin de la clase