Sto usando un simulatore per giocare a craps e sto cercando di restituire due valori con lo stesso metodo (o meglio mi piacerebbe farlo).È possibile restituire più di un valore da un metodo in Java?
Quando ho scritto la mia dichiarazione di ritorno, ho semplicemente provato a inserire "&" che ha compilato e funziona correttamente; ma non ho modo di accedere al secondo valore restituito.
public static int crapsGame(){
int myPoint;
int gameStatus = rollagain;
int d1,d2;
int rolls=1;
d1 = rollDice();
d2 = rollDice();
switch (d1+d2) {
case 7:
case 11:
gameStatus = win;
break;
case 2:
case 3:
case 12:
gameStatus = loss;
break;
default:
myPoint = d1+d2;
do {
d1=rollDice();
d2=rollDice();
rolls++;
if (d1+d2 == myPoint)
gameStatus = win;
else if (d1+d2 == 7)
gameStatus = loss;
} while (gameStatus == rollagain);
} // end of switch
return gameStatus & rolls;
}
Quando torno il valore come:
gameStatus=crapsGame();
Esso definisce in modo appropriato il varaible di vincere o perdere, ma se provo qualcosa di semplice come successivo dichiarazione con:
rolls=crapsGame();
Viene assegnato lo stesso valore del gamestatus ... uno 0 o un 1 (vittoria o sconfitta). Qualsiasi modo per accedere al secondo valore restituito? O c'è un modo completamente diverso per farlo?
usa array di oggetti o hashmap o classe modello –
No, non lo è. Puoi restituire un oggetto e quell'oggetto può contenere più proprietà –
Dovresti restituire un int []. Checkout http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html – sissonb