INFORMATICA Y OCIO

Foros de informática
  Inicio    Normas    Buscar   Miembros   Clanes   Regístrese   Perfil   Conéctese para revisar sus mensajes   Conectarse 
[informatica] + [videos graciosos] + [ultimos mensajes] + [top usuarios] + [contacto]
Java programa Dado
Ir a página 1, 2  Siguiente
 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Programación
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
LuiSpain
Conociendo Foroz
Conociendo Foroz


Registrado: 30 Oct 2007
Mensajes: 24

MensajePublicado: Mie Dic 05, 2007 8:46 pm    Título del mensaje: Java programa Dado Responder citando
hola,
¿alguien me puede ayudar con este programa??

Se trata de escribir una clase Dado que tenga un solo método lanzaDado(). Cada vez que se llama al método éste devuelve un valor aleatorio de tipo int entre 1 y 6, usando el metodo random() del API.

Luego escribe una clase PruebaDado con un main que tire 20 veces del dado y escriba un mensaje con el valor de lanzamiento del dado, no como número sino con la palabra.

Alguna idea???

Saludossssssssssssssss
Volver arriba
Ver perfil del usuario Enviar mensaje privado
DonDavid
Moderador
Moderador


Registrado: 22 Abr 2004
Mensajes: 1272
Ubicación: Madrid

MensajePublicado: Mie Dic 05, 2007 10:04 pm    Título del mensaje: Responder citando
Pilla en codigo creo que esta bien... no lo he probado por que lo he hecho asi en 5 min y alomejor me he colado en algo, pero pruebalo tu y revisado, si no entiendes algo avisame... pero vamos que es un codigo muy muy sencillo.

Es algun trabajo de clase??o simplemente ocio.

Código:

class pruebaDado{
   public static void main (String args[]){
      int numero = -1;
      Dado miDado = new Dado();
      for (int i = 0;i <11;i++){
         numero = miDado.lanzarDado();
         switch numero{
            case 1:
               System.put.println("Tirada "+i+": uno");
               break;
            case 2:
               System.put.println("Tirada "+i+": dos");
               break;
            case 3:
               System.put.println("Tirada "+i+": tres");
               break;
            case 4:
               System.put.println("Tirada "+i+": cuatro");
               break;
            case 5:
               System.put.println("Tirada "+i+": cinco");
               break;
            case 6:
               System.put.println("Tirada "+i+": seis");
               break;
            default:
               System.put.println("Tirada NO VALIDA);
               break;
         }
         
      }
   }
}
   
class Dado();
   public void Dado();
   
   public int lanzarDado(){
      int numero = -1;
      numero =  (int) ((Math.random()*6+1);
      retunr numero;
   }
}

_________________
La mayor sabiduría que existe es conocerse a uno mismo.
Te conoces tu??


Volver arriba
Ver perfil del usuario Enviar mensaje privado
LuiSpain
Conociendo Foroz
Conociendo Foroz


Registrado: 30 Oct 2007
Mensajes: 24

MensajePublicado: Mie Dic 05, 2007 10:35 pm    Título del mensaje: no funciona Responder citando
Hola DonDavid;

Parece que la clase Dado, no compila bien ¿la pudes revisar?, entre otras cosa es xq no as puesto {
Con { seria asi:

public class Dado{
public void Dado() {
}

public int lanzarDado(){
int numero = -1;
numero = (int) ((Math.random()*6+1);
return numero;
}
}

Pero aun asi m da el siguiente error en la linea de "numero = (int) ((Math.random()*6+1); " :

Dado.java:7: ')' expected
numero = (int) ((Math.random()*6+1);
^
1 error


En la clase pruebaDado, m da el mismo error.

Xq puede ser???

Un saludo y gracias.
Volver arriba
Ver perfil del usuario Enviar mensaje privado
DonDavid
Moderador
Moderador


Registrado: 22 Abr 2004
Mensajes: 1272
Ubicación: Madrid

MensajePublicado: Mie Dic 05, 2007 10:39 pm    Título del mensaje: Responder citando
tienes que importar al principio de la clase las librerias

si pones arriba import java.math; funciona
si asi tampoco buscaa que libreria pertenece... o pon import java.* que te importa todo el api.. es muy cutre pero funciona.
_________________
La mayor sabiduría que existe es conocerse a uno mismo.
Te conoces tu??


Volver arriba
Ver perfil del usuario Enviar mensaje privado
LuiSpain
Conociendo Foroz
Conociendo Foroz


Registrado: 30 Oct 2007
Mensajes: 24

MensajePublicado: Mie Dic 05, 2007 11:14 pm    Título del mensaje: Responder citando
q grande sooos Doooonnn!
Si funciona si, habia q poner import java.math.*
Ahora aver si comprendo como funciona XD.

Un saludo y gracias
Volver arriba
Ver perfil del usuario Enviar mensaje privado
LuiSpain
Conociendo Foroz
Conociendo Foroz


Registrado: 30 Oct 2007
Mensajes: 24

MensajePublicado: Mie Dic 05, 2007 11:34 pm    Título del mensaje: Responder citando
lo q no entiendo es esta linea: numero = (int) ((Math.random()*6+1));

¿¿por que *6+1 ??? ¿¿ y lo de (int)??¿¿no se supone que el metodo random devuelve un double???

Un saludo
Volver arriba
Ver perfil del usuario Enviar mensaje privado
DonDavid
Moderador
Moderador


Registrado: 22 Abr 2004
Mensajes: 1272
Ubicación: Madrid

MensajePublicado: Jue Dic 06, 2007 12:10 am    Título del mensaje: Responder citando
En un dado solo salen numero enteros.. por eso el (int). Eso es un castin que te pasa de double a entero truncando las cifras decimales, es decir sin redondeo.

Y lo de 6+1 es por que el Math.random, devuelve un decimal entre 0 y 1, y entonces si a cualkier numero entre 0 y 1 le multiplicas por 6 y le sumas 1 y te kedas con la parte entera, solo obtienes numeros entre 1 y6 que es lo que puedes obtener con un dado.
_________________
La mayor sabiduría que existe es conocerse a uno mismo.
Te conoces tu??


Volver arriba
Ver perfil del usuario Enviar mensaje privado
LuiSpain
Conociendo Foroz
Conociendo Foroz


Registrado: 30 Oct 2007
Mensajes: 24

MensajePublicado: Jue Dic 06, 2007 12:24 am    Título del mensaje: Responder citando
ahhhh, comprendo...
y lo de numero = -1??? lo e kitado y funciona tb....
Volver arriba
Ver perfil del usuario Enviar mensaje privado
DonDavid
Moderador
Moderador


Registrado: 22 Abr 2004
Mensajes: 1272
Ubicación: Madrid

MensajePublicado: Jue Dic 06, 2007 12:31 am    Título del mensaje: Responder citando
es la inicializacion de la variable entera... yo tengo la constumbre de inicializar todo... o con constructores genericos si son objetos o con valores poco comunes para tipos basicos.. asi por ejemplo si el metodo de donde sacas el dato funciona mal o te da excepcion y no devulve nada.. la tienes inicializada y no lanzas otra excepcion y sabes que no ha funcionado por que la variable tiene el valor de inicio. Los enteros siempre se suelen inicializar a 0 o -1
_________________
La mayor sabiduría que existe es conocerse a uno mismo.
Te conoces tu??


Volver arriba
Ver perfil del usuario Enviar mensaje privado
LuiSpain
Conociendo Foroz
Conociendo Foroz


Registrado: 30 Oct 2007
Mensajes: 24

MensajePublicado: Jue Dic 06, 2007 12:35 am    Título del mensaje: Responder citando
ah ok ok. Gracias por tu interes, un saludo tio y GRACIASS!!!!!!!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Programación Todas las horas están en GMT + 1 Hora
Ir a página 1, 2  Siguiente
Página 1 de 2
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
 
Articulos relacionados
En Software >> Programa de ecualizador de audio
En Software >> como usar el programa pc recovery
En Televisión >> Atentos a este programa de bricolaje
En Webmasters >> Java Web
En Foro Linux / Software Libre >> Programa parecido al USDowloader de w...
 

 
Foroz comunity Tema RSS 




by phpBB  
informatica Videos graciosos webmasters theme by Scott Stubblefield Top foroz