[ Foro de Java ]
Necesito ayuda con ambos ejercicios:
a)EJERCICIO 1
Escriba una clase que simule un dado, con las propiedades y métodos que considere más adecuados. Recuerde que debe tener un constructor y los métodosget y set necesarios.
Escriba un programa que utilice la clase dado para lanzar dos dados. Haga lo siguiente:
-Decir si el resultado es el mismo en los dos dados, indicando el valor.
-Si el resultado no es el mismo en los dos dados, mostrar el valor mayor.
b)EJERCICIO 2
Escriba un programa que simule el lanzamiento de dos dados y haga losiguiente:
-Mostrar por pantalla la frecuencia de los resultados de 100 lanzamientos (de los dos dados).
-Mostrar el valor o valores que más veces se repite.
-Mostar el valor o valores que menos veces se repite.
Puede utilizar la clase Dado. Para ello, cópiela en este nuevo proyecto.
Además,creará una clase FrecuenciaDados. ¿Qué atributos tendrá?
El primer ejercicio me salió muy bien, pero el otro no lo consigo sacar adelante de ninguna manera. Estos son los códigos fuente de ambos ejercicios que pude sacar:
a)EJERCICIO 1
public class Dado {
//Atributos
private int dado=(int)(Math.random()*(6-1+1)+1);
//Constructor
public Dado(){
}
//sets y gets
public int getDado(){
return dado;
}
public void setDado(int dado){
this.dado=dado;
}
//Métodos necesarios para la ejecución
public void lanzarDado(){
System.out.println("El valor del dado es "+dado);
}
}
public static void main(String[] args) {
Dado d1,d2;
d1=new Dado();
d2=new Dado();
d1.lanzarDado();
d2.lanzarDado();
if(d1.getDado()>d2.getDado()){
System.out.println("Los dados han sacado diferente número.");
System.out.println("El valor mayor del dado es "+d1.getDado());
}if(d1.getDado()<d2.getDado()){
System.out.println("Los dados han sacado diferente número.");
System.out.println("El valor mayor del dado es "+d2.getDado());
}if(d1.getDado()==d2.getDado()){
System.out.println("Los dados han sacado el mismo número");
}
}
b)EJERCICIO 2
public class Dado {
//Atributos
private int dado=(int)(Math.random()*(6-1+1)+1);
//Constructor
public Dado(){
}
//sets y gets
public int getDado(){
return dado;
}
public void setDado(int dado){
this.dado=dado;
}
//Métodos necesarios para la ejecución
public void lanzarDado(){
System.out.println("El valor del dado es "+dado);
}
}
public class FrecuenciaDados {
//Atributos
private final int MAX=11;
private Dado d1;
private Dado d2;
private final int suma[]=new int [MAX];
//Constructor
public FrecuenciaDados(){
}
//sets y gets
public Dado getDado1(){
return d1;
}
public Dado getDado2(){
return d2;
}
public void setDado1(Dado d1){
this.d1=d1;
}
public void setDado2(Dado d2){
this.d2=d2;
}
//Método para mostrar las frecuencias de los números de los dados
public void mostrarFrecuencias(){
int numeros[]={2,3,4,5,6,7,8,9,10,11,12};
for(int i=0;i<MAX;i++){
System.out.println("Número "+numeros[i]);
}
}
}
public static void main(String[] args) {
FrecuenciaDados f;
f=new FrecuenciaDados();
f.getDado1();
f.getDado2();
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)