Ciao devo realizzare un programma che calcolila somma delle facce superiori di due dadi.
codice:
import java.util.*;
class Dado{
int facciasuperiore;
Random r;
Dado(){
r=new Random();
facciasuperiore=0;
}
public int getFacciasuperiore(){
return facciasuperiore;
}
public void tiraDado(){
facciasuperiore= 1+r.nextInt(6);
}
/**restituisce la somma tra il valore della faccia superiore del dado
che esegue il metodo e del dado specificato come parametro*/
public int piu(Dado d){
d.tiraDado();
facciasuperiore+=d.getFacciasuperiore();
return facciasuperiore;
}
public String toString(){
String s="la somma della faccia del dado più dado1 è:"+facciasuperiore;
return s;
}
}
poi da main:
codice:
class TestDado{
public static void main(String[] args){
Dado dado=new Dado();
Dado dado1=new Dado();
dado.tiraDado();
dado1.tiraDado();
int faccia1=dado.getFacciasuperiore();
int faccia2=dado1.getFacciasuperiore();
System.out.println(dado1.piu(dado1));
System.out.println(dado1.toString());
}
}
Il compilatore stampa come somma lo stesso valore della faccia del dado1.Perchè?