如何使用随机类创建参数?我这样做但它发出了一条错误信息。
import java.util.Random;
public class DiceSimulation {
public static void main(String[] args)
{
final int NUMBER = 10000;
Random generator = new Random();
int die1Value; int die2Value; int count = 0; int snakeEyes = 0;
int twos = 0; int threes = 0; int fours = 0; int fives = 0;
int sixes = 0;
while (count < NUMBER) {
die1Value = generator.nextInt(1, 6);
die2Value = generator.nextInt(1, 6);
if (die1Value == die2Value) {
if(die1Value == 1) { snakeEyes++; }
else if (die1Value == 2) { twos++; }
else if (die1Value == 3) { threes++; }
else if (die1Value == 4) { fours++; }
else if (die1Value == 5) { fives++; }
else if (die1Value == 6) { sixes++; }
}
count++;
}
答案 0 :(得分:4)
语法不正确。请阅读Java Doc
。你可以写下面的方法。
public static int generateBetween(int number, int max) {
Random random = new Random();
int generated = random.nextInt(max - number);//<--Between so Max -Number
return generated+number;//<--Add here number so that it will be between
}
答案 1 :(得分:1)
这种语法错误:
die1Value = generator.nextInt(1, 6);
die2Value = generator.nextInt(1, 6);
nextInt(int)
只接受一个参数,因此请按以下方式更改:
die1Value = generator.nextInt(7); //This will generate int between 0 & 6
die2Value = generator.nextInt(7); //This will generate int between 0 & 6
如果您想要生成基于范围的随机数,请使用nextDouble()
使用一种解决方法,该0.0
生成1.0
和die1Value= 1+ (int)(generator.nextDouble()*5);//This will generate int between 1&6
die2Value= 1+ (int)(generator.nextDouble()*5);//This will generate int between 1&6
之间的值,如下所示:
die1Value = min+ (int)(generator.nextDouble()*(max-min));
die2Value = min+ (int)(generator.nextDouble()*(max-min));
语法:
{{1}}