Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/04/2012, 17:01
marlonedu
 
Fecha de Ingreso: enero-2012
Ubicación: Lima
Mensajes: 8
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Ejercicios Con números aleatorios en JAVA

Cita:
Iniciado por gobodeath Ver Mensaje
Hola, Tengo un amigo que le pusieron estos ejericios en la universidad, y esta embalado con eso no ha podido, y me los dió y pues le quiero ayudar al pelao, pero yo no tengo ni idea de programación en JAVA asi que quien pueda hecharme una mano y de paso a mi amigo le agradecería muchísimo, por lo que creo no son tan complicados, Una mano jenerosa porfavor

Estos son los ejercicios...

100 personas realizan lanzamiento de dados, determine cuantas
personas obtuvieron las siguientes caras al lanzar el dado....
cara 5
cara 2
cara 1
cara 3, 4 o 6

Considerar que un jugador lanza dos dados, gana si obtiene 11 puntos;
generar el proceso del lanzamiento de los dados hasta que el jugador
gane.Muestre por pantalla el numero de lanzamientos que realizó
el jugador....


Un profesor de matemáticas desea evaluar a sus alumnos de sexto año
de educación basica sobre las operaciones de suma,resta,
multiplicación y division entera, la clase debe generar los dos
números ( en el rango de 1 al 24) y preguntar cual es el resultado
según la operación (se presenta en forma aleatoria). si el alumno
acierta se debe enviar un mensaje correspondiente.
Este proceso debe realizarse hasta que el estudiante lo desee.
Finalmente debe mostrar una estadistica de los resultados obtenidos.


Hola, te escribo la clase que implementa la solucion del problema - la de los dados-, pero debes buscar un metodo main u otra clase que tenga un main y que lo llame para ejecutarlo. Si quieres te puedo mandar el archivo con el proyecto solucion, responde y dime tu correo por privado para mandarte la solucion.

Código Java:
Ver original
  1. package lanza;
  2.  
  3. import java.util.Random;
  4.  
  5. /**
  6.  *
  7.  * @author Marlon
  8.  */
  9. public class LanzaDados {
  10.  
  11.     // numCaras[0] es la cant de caras 5's se obtuvieron
  12.     // numCaras[1] es la cant de caras 2's se obtuvieron
  13.     // numCaras[2] es la cant de caras 1's se obtuvieron
  14.     // numCaras[3] es la cant de caras 3's, 4's o 6's se obtuvieron
  15.     private int[] numCaras = new int[4];
  16.     private final int NUM_PERSONAS;
  17.     private int jugadorGanador;
  18.     // Me indica cuantas rondas se van tirando en el juego de tirar 2 dados, para
  19.     // luego decir cuantas veces tiro los dados el jugador que gano.
  20.     private int ronda;
  21.  
  22.     public LanzaDados() {
  23.         NUM_PERSONAS = 100;
  24.         jugadorGanador = -1;
  25.         ronda = 0;
  26.         for (int i = 0; i < numCaras.length; i++) {
  27.             numCaras[i] = 0;
  28.         }
  29.        
  30.         contarCaras();
  31.         ganaOnce();
  32.     }
  33.  
  34.     // Metodo que simula el lanzamiento de 1 dado por 100 personas y determina
  35.     // cuantas 5's, 2's, 1's, 3 o 4 o 6 caras se obtuvieron
  36.     public void contarCaras() {
  37.         Random random = new Random();
  38.         for (int i = 0; i < NUM_PERSONAS; i++) {
  39.             // (random.nextInt(6) + 1) simula el lanzamiento de 1 dado
  40.             switch (random.nextInt(6) + 1) {
  41.                 case 5:
  42.                     numCaras[0]++;
  43.                     break;
  44.                 case 2:
  45.                     numCaras[1]++;
  46.                     break;
  47.                 case 1:
  48.                     numCaras[2]++;
  49.                     break;
  50.                 default:
  51.                     numCaras[3]++;
  52.                     break;
  53.             }
  54.         }
  55.         System.out.println("La cantidad de caras que se obtuvieron fueron");
  56.         System.out.printf("Cara 5\t\t: %d\n", numCaras[0]);
  57.         System.out.printf("Cara 2\t\t: %d\n", numCaras[1]);
  58.         System.out.printf("Cara 1\t\t: %d\n", numCaras[2]);
  59.         System.out.printf("Cara 3, 4 o 6   : %d\n", numCaras[3]);
  60.     }
  61.  
  62.     // Metodo que simula el lanzamiento de 2 dados y determina que
  63.     // jugador gana de entre 100 jugadores
  64.     // NOTA: se considera que el primer jugador es el jugador numero cero(0)
  65.     // hasta el jugador numero 99
  66.     public void ganaOnce() {
  67.         Random random = new Random();
  68.         int lanzamiento;
  69.         while (jugadorGanador == -1) { // mientras no haya ganador
  70.             ronda++;
  71.             for (int i = 0; i < NUM_PERSONAS; i++) {
  72.                 lanzamiento = (random.nextInt(6) + 1) + (random.nextInt(6) + 1);
  73.                 if (lanzamiento == 11){
  74.                     jugadorGanador = i;
  75.                     break;
  76.                 }
  77.             }
  78.         }
  79.        
  80.         System.out.printf("\nEl primer jugador que obtuvo 11 es el "
  81.                 + "jugador [%s] en su tiro #%d\n", jugadorGanador, ronda);
  82.     }
  83. }