在我的代碼中,我有變量randomNumber
,它應該改變,但它從來沒有。爲什麼?爲什麼我的變量值永遠不會改變?
import java.util.Random;
import java.util.Scanner;
public class NimGame
{
public static void main(String[] args)
{
Random myRandom = new Random();
int playerCount = 1;
int stonesRemoved = 0;
int randomNumber;
randomNumber = myRandom.nextInt(15) + 16; // Selects a random number between 15-30 as the number of stones.
System.out.println("You will be playing with: " + randomNumber + " stones.");
System.out.println("Each player can take 1, 2 or 3 stones when it is your turn.");
System.out.println("Player who takes the last stone looses.");
System.out.println();
Scanner input = new Scanner(System.in);
while (true)
{
StoneRemover (randomNumber, playerCount);
randomNumber = randomNumber - stonesRemoved;
System.out.println("There are now: " + randomNumber + " stones");
if (randomNumber == 0)
{
if (playerCount == 1)
{
System.out.println("Player 1 lost!");
}
else
{
System.out.println("Player 2 lost!");
}
break;
}
playerCount ++;
if (playerCount > 2)
{
playerCount = 1;
}
}
input.close();
}
public static int StoneRemover (int stonesRemoved, int playerCount)
{
Scanner input = new Scanner(System.in);
while (true)
{
System.out.print("How many stones does player " + playerCount + " want to take? ");
stonesRemoved = input.nextInt();
if (stonesRemoved > 3 || stonesRemoved == 0)
{
System.out.println("You did not select a correct number of stones to remove.");
System.out.println("Try Again!!");
}
else
{
break;
}
}
return stonesRemoved;
}
}
//Every time I run the code, the randomNumber does not update to the new number after the user retrieves 1,2, or 3 stones. Why is this happening
真正的問題根本與隨機數無關。您只能使用一次隨機數生成器,而不能再次使用。真正的問題是:「爲什麼我的變量永遠不會改變」。 –