Java 如何使用带有参数的随机类?

Java 如何使用带有参数的随机类?,java,parameters,Java,Parameters,如何使用random类创建参数?我这样做了,但它发出了一条错误消息 import java.util.Random; public class DiceSimulation { public static void main(String[] args) { final int NUMBER = 10000; Random generator = new Random(); int die1Value; int di

如何使用random类创建参数?我这样做了,但它发出了一条错误消息

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++; 
         }
import java.util.Random;
公共类{
公共静态void main(字符串[]args)
{
最终整数=10000;
随机生成器=新随机();
int die1Value;int die2Value;int count=0;int snakeEyes=0;
整数二=0;整数三=0;整数四=0;整数五=0;
六位数=0;
while(计数<数字){
DIE1值=发电机下一个(1,6);
die2Value=发电机下一个(1,6);
如果(die1Value==die2Value){
如果(die1Value==1){snakeyes++;}
else如果(die1Value==2){twos++;}
else如果(die1Value==3){threes++;}
else如果(die1Value==4){fours++;}
如果(die1Value==5){fives++;}
如果(die1Value==6){sixes++;}
}     
计数++;
}

语法不正确。请阅读。您可以编写如下方法

 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
}
公共静态int-generateBeeween(int-number,int-max){
随机=新随机();

int generated=random.nextInt(max-number);//语法不正确。请阅读。您可以编写如下方法

 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
}
公共静态int-generateBeeween(int-number,int-max){
随机=新随机();
int generated=random.nextInt(max-number);//此语法错误:

  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
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 
如果要生成基于范围的随机值,请使用
nextDouble()
的变通方法,该方法生成
0.0
1.0
之间的值,如下所示:

  die1Value = generator.nextInt(7); //This will generate int between 0 & 6
  die2Value = generator.nextInt(7); //This will generate int between 0 & 6
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));
此语法错误:

  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
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 
如果要生成基于范围的随机值,请使用
nextDouble()
的变通方法,该方法生成
0.0
1.0
之间的值,如下所示:

  die1Value = generator.nextInt(7); //This will generate int between 0 & 6
  die2Value = generator.nextInt(7); //This will generate int between 0 & 6
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));

…错误是什么?CTRL+SHIFT+F您的代码。Java有一个很棒的东西叫做。阅读它,您将看到什么方法可用,它们做什么以及它们是如何工作的。请在下次单击“提交”按钮之前查看您的问题在预览中的外观。我这次已经格式化了您的代码。编写代码后,只需选择所有代码,然后单击“提交”使用
CTRL+K
格式化您的代码……错误是什么?CTRL+SHIFT+F您的代码。Java有一个很棒的东西叫做。阅读它,您将看到什么方法可用,它们做什么以及它们如何工作。请在下次单击提交按钮之前查看预览中您的问题的外观。我这次格式化了您的代码。在wri之后点击你的代码,只需选择所有代码,然后使用
CTRL+K
格式化你的代码。不正确。阅读
Random.nextInt()
@jbniset()的javadoc:如果你的意思是
6
是独占的,我更正了答案。如果是关于Random#nextInt(int),这里是javadoc-。不正确。阅读
Random.nextInt()的javadoc
@JBNizet:如果你是说
6
是独占的,我更正了答案。如果是关于随机的#nextInt(int),这是javadoc-。