You are on page 1of 3

(Tiro de dados) Escriba una aplicacin para simular el tiro de dos dados.

La aplicacin debe utilizar un objeto de la clase Random una vez para tirar el primer dado, y de nuevo para tirar el segundo dado. Despus debe calcularse la suma de los dos valores. Cada dado puede mostrar un valor entero del 1 al 6, por lo que la suma delos valores variar del 2 al 12, siendo 7 la suma ms frecuente, mientras que 2 y 12 sern las sumas menos frecuentes. Su aplicacin debe tirar los dados 36 000 veces. Utilice un arreglo unidimensional para registrar el nmero de veces que aparezca cada una de las posibles sumas. Muestre los resultados en forma tabular. Determine si los totales son razonables (es decir, hay seis formas de tirar un siete, por lo que aproximadamente una sexta parte de los tiros deben ser 7)
Solucin: Este cdigo debe llamarse UsaDeitel_7_17
public class UsaDeitel_7_17 { // Abre clase UsaDeitel_7_17 public static void main(String args[]) { // Abre main Deitel_7_17 miObjeto = new Deitel_7_17(); System.out.println("\nEste programa simula el lanzamiento de dos dados.\n"); miObjeto.Recibir(); } } // Cierra main // Cierra UsaDeitel_7_17

Este cdigo debe guardarse como Deitel_7_17.java

import java.util.Scanner; import java.util.Random; public class Deitel_7_17 { // Abre clase Deitel_7_17 Scanner entrada = new Scanner(System.in); Random aleatorio = new Random(); private int numero; int Arreglo[]; ///////////////////////////////////////////// // Metodo Recibir ///////////////////////////////////////////// public void Recibir() { // Abre metodo Recibir System.out.print("\nPor favor introduzca el numero de veces que se lanzaran "); System.out.print(" los dados\n"); numero = entrada.nextInt(); Arreglo = new int[numero]; Lanzar(); } // cierra metodo Recibir

///////////////////////////////////////////// // Metodo Lanzar ///////////////////////////////////////////// public void Lanzar() { // Abre metodo Lanzar int numero1; int numero2; for ( int i = 0; i < Arreglo.length; i++ ) { // Abre for numero1 = 1 + aleatorio.nextInt(6); numero2 = 1 + aleatorio.nextInt(6); // System.out.printf("\n%d\t%d\n", numero1, numero2); // Descomentar para verificar que las sumas se capturan // de manera correcta. Para esto intruducir un numero // pequenio Arreglo[i] = numero1 + numero2; } // Cierra for Contar(); } // Cierra metodo Lanzar ///////////////////////////////////////////// // Metodo Contar

///////////////////////////////////////////// public void Contar() { // Abre metodo Contar int Contador[] = new int[13]; for ( int j = 0; j < Arreglo.length; j++ ) { // Abre for for ( int k = 0; k < Contador.length; k++ ) { // Abre for anidado if ( Arreglo[j] == k ) Contador[k]++; } // Cierra for anidado } // Cierra for Imprimir(Contador); } // Cierra metodo Contar

///////////////////////////////////////////// // Metodo Imprimir ///////////////////////////////////////////// public void Imprimir( int B[]) { // Abre metodo Imprimir for (int m = 0; m < B.length; m++ ) { // Abre for System.out.printf("\n%d lanzamientos sumaron %d\n", B[m], m ); } // Cierra for } // Cierra metodo Imprimir } // Cierra clase Deitel_7_17

You might also like