Java 这个代码是无法访问的代码,我不知道为什么
抱歉,代码太多了,但我不知道为什么Java 这个代码是无法访问的代码,我不知道为什么,java,compiler-errors,unreachable-code,Java,Compiler Errors,Unreachable Code,抱歉,代码太多了,但我不知道为什么 int timesWon; 第90行出现无法访问的代码错误。 任何放在第90行的内容都是不可访问的代码,这意味着后面的内容都是不可读的 这是我的一个任务的骰子游戏代码: package homework2_3; import java.security.*; public class Craps { static enum score { win, lose } public static void ma
int timesWon;
第90行出现无法访问的代码错误。
任何放在第90行的内容都是不可访问的代码,这意味着后面的内容都是不可读的
这是我的一个任务的骰子游戏代码:
package homework2_3;
import java.security.*;
public class Craps
{
static enum score
{
win, lose
}
public static void main(String[] args)
{
//random Number for a dice roll
SecureRandom random = new SecureRandom();
//ints for the totals on the two dice
int dice1;
int dice2;
//array for times won/lost
score[] total = new score[1000000];
//int for the score of the first throw, if it was not an imediate win or loss
int throw1Score = 0;
//count how many times a win or loss happened at each roll from 1-21
int[] rollWon = new int[22];
int[] rollLost = new int[22];
//loop for each game from 1-1000000
for(int indexGame = 1; 1 <= 1000000; indexGame++)
{
//loop for each throw within a game
for(int indexThrow = 1; total[indexGame] != score.win || total[indexGame] != score.lose; indexThrow++)
{
//get the total of blips on the dice
dice1 = random.nextInt(6) + 1;
dice2 = random.nextInt(6) + 1;
//check if the throw total in throw 1
if(indexThrow == 1)
{
//check if throw 1 is an instant win
if((dice1 + dice2) == 7 || (dice1 + dice2) == 11)
{
total[indexGame] = score.win;
rollWon[indexThrow]++;
}
//check if throw 1 is an instant loss
else if((dice1 + dice2) == 2 || (dice1 + dice2) == 3 || (dice1 + dice2) == 12)
{
total[indexGame] = score.lose;
rollLost[indexThrow]++;
}
//get your "point"
else
{
throw1Score = dice1 + dice2;
}
}
//anything other than throw 1
else
{
//check if you "made your point"
if((dice1 + dice2) == throw1Score)
{
total[indexGame] = score.win;
if(indexThrow <= 20)
{
rollWon[indexThrow]++;
}
else if(indexThrow > 20)
{
rollWon[21]++;
}
}
//check if you rolled a 7 (lost)
else if((dice1 + dice2) == 7)
{
total[indexGame] = score.lose;
if(indexThrow <= 20)
{
rollLost[indexThrow]++;
}
else if(indexThrow > 20)
{
rollLost[21]++;
}
}
}
}
}
//ints to add up all the wins and losses in the array of scores
int timesWon;
int timesLost;
//loop for the adding
for(int winLossCheck = 1; winLossCheck <= 1000000; winLossCheck++)
{
if(total[winLossCheck] == score.win)
{
timesWon++;
}
if(total[winLossCheck] == score.lose)
{
timesLost++;
}
}
//print the total times you won/lost
System.out.println("you won " + timesWon + " times, and you lost " + timesLost + " times");
}
}
就我所知,一切在逻辑上和语法上都是正确的
提前感谢您的帮助 1您有一个for循环,其中条件为1 forint indexGame=1;1请注意,枚举是类型,应使用Pascal大小写分数命名,枚举值是常量,应以大写字母WIN、LOSE命名。
for(int i = 1; i<=10; i++) {
System.out.println(i);
}