Autor Tema: Java Ejemplo números aleatorios clase Random separar procesos en clases CU00909C  (Leído 2195 veces)

HumbertoAli

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 21
    • Ver Perfil
Buenas quisiera que me corrigieran este ejercicio por favor. (Ejercicio CU00909C del curso avanzado de Java)

Citar
EJERCICIO Nº 1

Crea un programa que elija dos números enteros aleatorios A y B pero no los muestre por pantalla aún. Si los dos números fueran iguales, deberá repetirse la elección hasta que sean distintos. El programa preguntará por quién apostamos, A o B (gana el número más alto). Una vez el usuario haya introducido su apuesta, el programa mostrará el valor de A y B, dirá si hemos ganado la apuesta (acertado el número más alto) o perdido y nos dirá cuántas partidas hemos ganado y perdido hasta el momento. Tras una jugada, nos preguntará si queremos jugar otra vez.

Ejemplo de ejecución:

Apuestas por A o por B ? : A
A saca un 9 y B saca un 6     HAS GANADO!!!
Llevas 1 partidas ganadas y 0 partidas perdidas
Quieres probar otra vez ? (S/N) : S
Apuestas por A o por B ? : A
A saca un 1 y B saca un 8     HAS PERDIDO!!!
Llevas 1 partidas ganadas y 1 partidas perdidas
Quieres probar otra vez ? (S/N) : N
Adiós

mi codigo
Código: [Seleccionar]
import java.util.*;/**
 *
 * @author baseuser
 */
public class Programa2 {
    public static void main(String[]args){
        Random rnd = new Random();
        Scanner sc = new Scanner(System.in);
        int a, b, mayor, ganadas = 0, perdidas = 0;
        String seleccion, opcion;
        do{
            a = (rnd.nextInt(11));
            b = (rnd.nextInt(11));
            System.out.print("Apuestas por A o por B ?:");
            seleccion = sc.next();
            System.out.print("A saca un "+a+" y B saca un "+b);
            if(a > b){
                if(seleccion.equalsIgnoreCase("A")){
                    System.out.println("  HAS GANADO!!!");
                    ganadas++;
                }else if(seleccion.equalsIgnoreCase("B")){
                   System.out.println("  HAS PERDIDO!!!");
                   perdidas++;
                }
            }else{
                if(seleccion.equalsIgnoreCase("B")){
                    System.out.println("  HAS GANADO!!!");
                    ganadas++;
                }else if(seleccion.equalsIgnoreCase("A")){
                   System.out.println("  HAS PERDIDO!!!");
                   perdidas++;
                }
            }
            System.out.println("Llevas "+ganadas+" partidas ganadas y "+perdidas+" partidas perdidas");
            System.out.println("Quieres probar otra vez ? (S/N) :");
            opcion = sc.next();
        }while(opcion.equalsIgnoreCase("S"));
        System.out.println("Adios");
    }
}
« Última modificación: 11 de Junio 2017, 17:58 por Ogramar »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:números aleatorios clase Random. Enteros con nextInt (CU00909C)
« Respuesta #1 en: 08 de Abril 2017, 19:17 »
Hola HumbertoAli.

Al probar el código obtuve este resultado:

Citar
Apuestas por A o por B ?:a
A saca un 8 y B saca un 8  HAS PERDIDO!!!
Llevas 0 partidas ganadas y 1 partidas perdidas
Quieres probar otra vez ? (S/N) :
s
Apuestas por A o por B ?:b
A saca un 10 y B saca un 3  HAS PERDIDO!!!
Llevas 0 partidas ganadas y 2 partidas perdidas
Quieres probar otra vez ? (S/N) :
s
Apuestas por A o por B ?:a
A saca un 7 y B saca un 6  HAS GANADO!!!
Llevas 1 partidas ganadas y 2 partidas perdidas
Quieres probar otra vez ? (S/N) :
n
Adios

Según el enunciado si los dos números fuesen iguales habrá que conseguir que sean distintos.

También comentarte que sería adecuado que empezaras a separar procesos usando más clases o métodos, en este caso podrías crear una clase o método que se encargara de crear los números aleatorios, para las entradas por teclado también se podría crear otra clase o método que se encargase de ello y no tener una clase única que haga muchas cosas distintas.

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".