Używam symulatora do gry w kości i próbuję zwrócić dwie wartości z tej samej metody (lub raczej chciałbym).Czy jest możliwe zwrócenie więcej niż jednej wartości z metody w Javie?
Kiedy napisałem zwrot, po prostu próbowałem wstawić "&", który skompilował i działał poprawnie; ale nie mam dostępu do drugiej zwróconej wartości.
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;
}
Kiedy wrócę wartości jak:
gameStatus=crapsGame();
on odpowiednio ustawia varaible wygrać lub stracić, ale gdy próbuję coś tak prostego jak po to oświadczenie z:
rolls=crapsGame();
Ma przypisaną tę samą wartość co gamestatus ... a 0 lub 1 (wygrana lub przegrana). W jaki sposób mogę uzyskać dostęp do drugiej zwróconej wartości? A może jest zupełnie inny sposób na zrobienie tego?
użyj tablicy obiektów lub hashmap lub modelu klasy –
Nie, nie jest. Możesz jednak zwrócić obiekt i ten obiekt może zawierać wiele właściwości. –
Powinieneś zwrócić int []. Zamówienie http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html – sissonb