本文介绍了Java中无法访问的代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不明白无法​​访问的代码"是什么意思?

I don't get what does "unreachable code" means ?

在我的代码的最后一行中 double densityOfWin =获胜/(获胜+失败); 表示无法访问的代码.

Here in the last line of my code double probabilityOfWin = wins / (wins + loses); it says unreachable code.

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);


}

}

推荐答案

此处的循环:

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

解析为 while(true),因为从未修改过 GAMES 的值.因此,之后出现的任何代码(在您的情况下为 Double概率OfWin =获胜/(获胜+失败); )都被视为无法访问.

resolves to while (true) because the value of GAMES is never modified. So any code that comes after (in your case, double probabilityOfWin = wins / (wins + loses);) is deemed unreachable.

这篇关于Java中无法访问的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 04:28