Java中无法访问的代码

时间:2014-06-08 00:05:28

标签: java

我不知道"无法访问的代码"是什么意思?

我的代码double probabilityOfWin = wins / (wins + loses);的最后一行显示了无法访问的代码。

import java.util.Random;

 public class CrapsGame {
    public static final int GAMES = 9999;

public static void main(String[] args) {
    Random randomGenerator1 = new Random();
    Random randomGenerator2 = new Random();
    Random randomGenerator3 = new Random();
    Random randomGenerator4 = new Random();

    int dice1 = randomGenerator1.nextInt(6) + 1;
    int dice2 = randomGenerator2.nextInt(6) + 1;

    int comeoutSum = dice1 + dice2;
    int point = 0;

    // The comeout roll

    if (comeoutSum == 7 || comeoutSum == 12)
        System.out.println("wins");
    else if ( comeoutSum == 2 || comeoutSum == 3 || comeoutSum == 12)
        System.out.println("loses");
    else
         point = comeoutSum;

    int wins = 0;
    int loses = 0;


    while(GAMES <= 9999)
    {
        dice1 = randomGenerator3.nextInt(6) + 1;
        dice2 = randomGenerator4.nextInt(6) + 1;
        int sum = dice1 + dice2;

        if (sum == point)
            wins++;
        else if (sum == 7)
            loses++;
    }

    double probabilityOfWin = wins / (wins + loses);


}

}

2 个答案:

答案 0 :(得分:2)

这个循环在这里:

while(GAMES <= 9999)
{
    ...
}

解析为while (true),因为永远不会修改GAMES的值。因此,之后的任何代码(在您的情况下为double probabilityOfWin = wins / (wins + loses);)都被视为无法访问

答案 1 :(得分:0)

您没有对常量GAME进行任何更改。所以while循环永远不会终止。最后一行代码无法访问。 无法访问意味着代码永远不会被执行。例如,

return 15;
int a = 12;

然后最后一行代码将不会被执行,因为该函数已经返回。