Título: Ayuda Con error en programa Publicado por: manuhendrix en 29 Agosto 2012, 23:57 pm Hola, es la primera vez que publico en el foro asi que no estoy seguro si es en esta sección donde se publica o si lo que les voy a preguntar va contra las reglas, si no cumplo algo borren el tema, no hay problema.
Mi duda es esta. Estoy empezando a programar en Java, y tengo que hacer un Cubilete de Dados. El cubilete tiene que almacenar los dados y tirarlos. Cree dos clases, una clase Dado cuyo codigo es: public class Dado { private int caras; private int valor; public Dado(int caras){ this.caras = caras; } public int tirarDado(){ valor = (int)((Math.random()*(caras-1)+1)); return valor; } } y aca la clase Cubilete que hice usando ArrayList: import java.util.ArrayList; public class Cubilete { private ArrayList<Dado> dados = new ArrayList<Dado>(); public Cubilete (int cantDeDados, int cantDeCaras) { for(int i = 0; i<cantDeDados;i++){ dados.add(new Dado(cantDeCaras)); } } public void cantidadDados(){ int cantDados = dados.size(); System.out.println(cantDados); } public void tirarDados(){ for (int i = 0; i < dados.size(); i++) { System.out.println(dados.get(i)); } } } Este programa compila, pero cuando compila me devuelve esto Dado@21b6d Dado@56a499 Dado@506411 la cantidad de veces como dados que le ponga al Arraylist. Queria saber porque sucede esto, y si se puede solucionar :) gracias! Título: Re: Ayuda Con error en programa Publicado por: xmbeat en 30 Agosto 2012, 03:37 am Lo que pasa es que necesitas sobrescribir el metodo toString() o llamar al metodo tiraDado()
System.out.println(dados.get(i).tiraDado()); Título: Re: Ayuda Con error en programa Publicado por: manuhendrix en 31 Agosto 2012, 02:34 am Ya lo solucione, lo que hice fue esto
for(Dado dado: dados) { int valorDado = dado.tirarDado(); ValorDado2 = valorDado; } return ValorDado2; saludos |