我试图让它在不同的行上打印出2和2。第一部分单独的线路已经关闭,但由于某种原因,这个东西输出的数字是2然后是3.这是为了我的一个章节的任务,并且由于我的工作时间表,让一个小组一起寻求帮助是具有挑战性的。谁能帮我理解这里发生了什么?注意:seedVal从4开始。
使用nextInt()键入两个语句以打印两个随机整数 在0到9之间。以换行符结束。例如:
5
7
注意:对于此活动,使用一个语句可能会产生不同的结果 输出(由于编译器以不同的顺序调用nextInt())。 对此活动使用两个语句。
import java.util.Scanner;
import java.util.Random;
public class DiceRoll {
public static void main (String [] args) {
Random randGen = new Random();
int seedVal = 0;
randGen.setSeed(seedVal);
System.out.println(randGen.nextInt(seedVal));
System.out.println(randGen.nextInt(seedVal));
return;
}
}
答案 0 :(得分:0)
new Random()
确实是一个伪随机数,每次使用时都会以相同的顺序为相同的种子返回相同的值。
下限为零,因此您需要在结果中添加1,因为您不能使用骰子抛出0。上限为6(在0和5之间返回一个随机值,但我们重新加1以补偿0下限)。
要将相同的结果打印两次,您需要将其存储在变量中并将其打印两次。
幸运的是,第一个'随机'返回的种子6和绑定6的组合是1.添加1,你有2; - )
这样的事情:
public class DiceRoll {
public static void main (String [] args) {
Random randGen = new Random();
int seedVal = 6;
randGen.setSeed(seedVal);
int diceValue = randGen.nextInt(6) + 1;
System.out.println(diceValue);
System.out.println(diceValue);
return;
}
}
答案 1 :(得分:0)
randGen.nextInt(10)表示从0开始的可能值的数量,因此最大值为9.由于提示需要2个语句,因此需要将打印输出两次。
的System.out.println(randGen.nextInt(10)); 的System.out.println(randGen.nextInt(10));