• Jueves 7 de Noviembre de 2024, 23:52

Autor Tema:  Do-While plix ;d  (Leído 3940 veces)

DanteL96A1

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Do-While plix ;d
« en: Miércoles 2 de Diciembre de 2009, 04:46 »
0
BUenas Saludos!!  Pues miren eh estado queriendo hacer un programa que tenga un contador ayudado con un ramdon que eliga numeros al azar de echo aquie esta la actividad que quiero realizar;
"Escriba una clase, llamada LanzaMoneda(),que simule el lanzamiento de una moneda. Un objeto instanciado de esta clase tendrá dos atributos de tipo entero llamados cara y cruz los cuales contabilizaran el número de veces que cae cara o cruz en la simulación de los lanzamientos. Además tendrá un atributo adicional de tipo entero llamado numDeLanzamientos que guardara el numero de lanzamientos que realizo un determinado objeto.
La clase deberá contener los siguientes métodos:
LanzaMoneda( ) – constructor que inicializara el atributo numDeLanzamientos con un valor pasado por parámetro al momento de crear un objeto. Los atributos numCaras y numCruces se inicializarán siempre en cero.
lanzamiento( ) –Realizara un ciclo, con tantas iteraciones como se establezca en el atributo numDeLanzamientos. En cada iteración se debe utilizar el método random() de la clase Math para generar un número aleatorio que solo podrá ser 1 (cara) o  2 (cruz) y dependiendo de lo que se genere se actualizara el atributo correspondiente (numCaras o numCruces). Por ejemplo si se  decide que se lance la moneda 1000 veces el atributo numDeLanzamientos tomara ese valor y algunos valores posibles para numCaras y numCruces podrían ser:
Caras 580 veces
Cruces 420 veces
toString( ) – regresara una cadena de caracteres que contendrá el valor de los atributos cara y cruz después de realizar la simulación del lanzamiento.

Escriba una aplicación, llamada AplicacionLanzaMoneda, que instancie dos objetos, lm1 y lm2,  de la clase LanzaMoneda. El primer objeto inicializara el número de lanzamientos en 1000 y el segundo en 1500. La aplicación deberá probar la funcionalidad de los métodos de la clase LanzaMoneda.""

y pues hasta ahora solo llevo lo de entrada xD

public class LanzaMoneda
{
   int cara;
   int cruz;
   int numDeLanzamientos;
   
   
   LanzaMoneda()
   {
       numDeLanzamientos= 0;
      
      
   }
      }

Apenas estoy empesando a programar y pues estoy batallando mucho con esto del do-while si me pudiesen ayudar a entender o ayudarme con el ejemplo que quiero hacer se los agradeceria, asi puedo basarme en este para crear mas.
de antemano gracias y espero que me responan ;D saludos!

fm89-10

  • Miembro activo
  • **
  • Mensajes: 75
  • Nacionalidad: ni
    • Ver Perfil
Re: Do-While plix ;d
« Respuesta #1 en: Miércoles 2 de Diciembre de 2009, 20:42 »
0
hola aqui esta el ejemplo, solo es que lo ordenes un poco. ademas es mejor usar un for en ves de un dowhile.
clase LanzaMoneda
Código: Java
  1.  
  2. public class LanzaMoneda {
  3.     int numcaras,numcruces;
  4.     int numlanzam;
  5.     public  LanzaMoneda(int numlan) {
  6.         numlanzam= numlan;
  7.         numcaras=0;
  8.         numcruces=0;
  9.     }
  10.     public void lanzamiento(){
  11.        
  12.         int c=1;
  13.         int ct=1;
  14.         int l=0;
  15.         for(int i=1 ; i<= numlanzam;i++)
  16.         {
  17.         l=  (int)(Math.random()* (2-1+1)+ 1);
  18.             if (l==1)
  19.             {
  20.                 numcruces =  c;
  21.                 c++;
  22.            
  23.             }
  24.             if(l==2)
  25.             {
  26.  
  27.                 numcaras= ct;
  28.                 ct++;
  29.                
  30.             }
  31.            
  32.    
  33.         }
  34.        
  35.     }
  36.     public void resultado(){
  37.     System.out.println("caras"+ numcaras  + "n");
  38.         System.out.println("cruz"+ numcruces + "n");
  39.        
  40.     }
  41.    
  42. }
  43.  
  44.  
  45.  
  46.  
AplicaLanzaMoneda
Código: Java
  1.  
  2. import java.util.Scanner;
  3. public class AplicaLanzaMoneda {
  4.  
  5.     public AplicaLanzaMoneda() {
  6.     }
  7.     public static void main(String []args){
  8.         Scanner en= new Scanner(System.in);
  9.         System.out.println("digite la cantidad de lanzamientos");
  10.         int numlan = en.nextInt();
  11.         LanzaMoneda lm= new LanzaMoneda(numlan);
  12.         lm.lanzamiento();
  13.      lm.resultado();
  14.     }
  15.    
  16. }
  17.  
  18.  
  19.  

espero te sirva. alguna duda me dices :hola:

DanteL96A1

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Do-While plix ;d
« Respuesta #2 en: Jueves 3 de Diciembre de 2009, 20:44 »
0
Gracias man esto es lo que buscaba , yo estaba aferrado a la idea de hacerlo en Do-While pero eh visto que con el for es un poco mas facil
Te lo agradesco mucho !! ;D :D  :D

fm89-10

  • Miembro activo
  • **
  • Mensajes: 75
  • Nacionalidad: ni
    • Ver Perfil
Re: Do-While plix ;d
« Respuesta #3 en: Jueves 3 de Diciembre de 2009, 22:52 »
0
hola que bueno que te haya servido.
se ve que estas empezando en java asi que te dejo esta pagina para que te des una pasada.
http://casidiablo.net/java/

suerte :hola:

DanteL96A1

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Do-While plix ;d
« Respuesta #4 en: Domingo 6 de Diciembre de 2009, 02:42 »
0
Gracias por la pagina, y el programa que me mandaste me ayudo muchisimo, pero ahora que eh estado estudiando mas eh visto que tu codigo tiene variables inesesarias, ya que con lo de arriba ubieses podido aserlo;


 int l=0;
 for(int i=1 ; i<= numlanzam;i++)
         {
         l=  (int)(Math.random()* (2-1+1)+ 1);
         if (l==1)
             {
                 numcruces++;
         }
         if (l==2)
             {
                 numcaras++;
               }


Pero gracias ;D , este ejemplo me ah echo entender mucho, incluso a mejorarlo ;D