代码的工作在注释中描述。由于某种原因,变量“ bonusGameWinningNumber”始终为0,我不知道为什么。
我尝试过脑海中的每一次迭代,但似乎完全没问题……我正在使用eclipse。由于没有错误显示,我什至不知道在google / notes中寻找什么。另外,我真的不知道为什么整个代码都不想放在应该放置的位置(导入和公共类主程序)
import java.util.Random;
import java.lang.Math;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Random rand = new Random(); //opening Random function;
int randomNumber; //variable to store random numbers before assigning to the array
int bonusGameNumber[]=new int [5]; //array for storing bonus game numbers
int bonusGameWinningNumber=0;
System.out.println("Possible winnings: €10, €20, €50, €200 and €1000. Good luck!");
for (int m=1; m<=4; m++) // loop generating numbers for bonus game
{
randomNumber = rand.nextInt(999)+1;
if (randomNumber <=600)
{
System.out.println("€10");
bonusGameNumber[m] = 1;
} else if (randomNumber >600 && randomNumber <800)
{
System.out.println("€20");
bonusGameNumber[m] = 2;
}else if (randomNumber >800 && randomNumber <900)
{
System.out.println("€50");
bonusGameNumber[m] = 3;
}else if (randomNumber >900 && randomNumber <975)
{
System.out.println("€200");
bonusGameNumber[m] = 4;
}else if (randomNumber >975 && randomNumber <=1000)
{
System.out.println("€1000");
bonusGameNumber[m] = randomNumber;
}
}
for (int z=1; z<=4; z++) // loop to make sure numbers have been assigned propely.
{
System.out.println(bonusGameNumber[z]);
}
for (int n=1;n<=4;n++) //loop checking if any number got doubled, if so, assigning higher value to variable "bonusGameWinningNumber" (which has default value of 0)
{
for (int o=1; o<=4; o++)
{
if (n != o)
{
if (bonusGameNumber[n] == bonusGameNumber[o])
{
if(bonusGameWinningNumber > bonusGameNumber[o])
{
bonusGameWinningNumber = bonusGameNumber[0];
System.out.println("test");
}
}
}
}
}
System.out.println(bonusGameWinningNumber); //testing if any number got assigned to the variable, it never does...
if (bonusGameWinningNumber == 1)
{
System.out.println("Congratulations, you won €10 in the bonus game");
}else if (bonusGameWinningNumber == 2)
{
System.out.println("Congratulations, you won €20 in the bonus game");
}else if (bonusGameWinningNumber == 3)
{
System.out.println("Congratulations, you won €50 in the bonus game");
}else if (bonusGameWinningNumber == 4)
{
System.out.println("Congratulations, you won €200 in the bonus game");
}else if (bonusGameWinningNumber == 5)
{
System.out.println("Congratulations, you won €1000 in the bonus game");
} else System.out.println("Sorry, you didn't win anything in the bonus game. Better luck next time!");}}
答案 0 :(得分:1)
此答案基于问题评论。
import java.util.Random;
import java.lang.Math;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Random rand = new Random(); //opening Random function;
int randomNumber; //variable to store random numbers before assigning to the array
int bonusGameNumber[]=new int [5]; //array for storing bonus game numbers
int bonusGameWinningNumber=0;
System.out.println("Possible winnings: €10, €20, €50, €200 and €1000. Good luck!");
for (int m=1; m<=4; m++) // loop generating numbers for bonus game
{
randomNumber = rand.nextInt(999)+1;
if (randomNumber <=600)
{
System.out.println("€10");
bonusGameNumber[m] = 1;
} else if (randomNumber >600 && randomNumber <800)
{
System.out.println("€20");
bonusGameNumber[m] = 2;
}else if (randomNumber >800 && randomNumber <900)
{
System.out.println("€50");
bonusGameNumber[m] = 3;
}else if (randomNumber >900 && randomNumber <975)
{
System.out.println("€200");
bonusGameNumber[m] = 4;
}else if (randomNumber >975 && randomNumber <=1000)
{
System.out.println("€1000");
bonusGameNumber[m] = randomNumber;
}
}
for (int z=1; z<=4; z++) // loop to make sure numbers have been assigned propely.
{
System.out.println(bonusGameNumber[z]);
}
for (int n=1;n<=4;n++) //loop checking if any number got doubled, if so, assigning higher value to variable "bonusGameWinningNumber" (which has default value of 0)
{
for (int o=1; o<=4; o++)
{
if (n != o)
{
if (bonusGameNumber[n] == bonusGameNumber[o])
{
if(bonusGameWinningNumber < bonusGameNumber[o])
{
bonusGameWinningNumber = bonusGameNumber[0];
System.out.println("test");
}
}
}
}
}
System.out.println(bonusGameWinningNumber); //testing if any number got assigned to the variable, it never does...
switch(bonusGameWinningNumber) {
case 1:
System.out.println("Congratulations, you won €10 in the bonus game");
break;
case 2:
System.out.println("Congratulations, you won €20 in the bonus game");
break;
case 3:
System.out.println("Congratulations, you won €50 in the bonus game");
break;
case 4:
System.out.println("Congratulations, you won €200 in the bonus game");
break;
case 5:
System.out.println("Congratulations, you won €1000 in the bonus game");
break;
default:
System.out.println("Sorry, you didn't win anything in the bonus game. Better luck next time!");
}
}
}