Tôi đang sử dụng trình mô phỏng để phát craps và tôi đang cố gắng trả lại hai giá trị từ cùng một phương thức (hoặc đúng hơn là tôi muốn).Có thể trả về nhiều hơn một giá trị từ một phương thức trong Java không?
Khi tôi viết câu trả lại, tôi chỉ đơn giản thử đặt "&" được biên dịch và chạy đúng cách; nhưng tôi không có cách nào để truy cập vào giá trị trả về thứ hai.
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;
}
Khi tôi trả về giá trị như:
gameStatus=crapsGame();
Nó thích hợp đặt varaible để thắng hay thua nhưng nếu tôi cố gắng một cái gì đó đơn giản như sau tuyên bố rằng với:
rolls=crapsGame();
Nó được gán giá trị giống như gamestatus ... 0 hoặc 1 (thắng hay thua). Bất kỳ cách nào để tôi có thể truy cập giá trị trả lại thứ hai? Hoặc là có một cách hoàn toàn khác để đi về nó?
sử dụng mảng đối tượng hoặc băm hoặc mô hình lớp –
Không. Bạn có thể trả lại một đối tượng và đối tượng đó có thể chứa nhiều thuộc tính –
Bạn nên trả về một int []. Thanh toán http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html – sissonb