我正在制作一个单链表,并且添加到列表中的数字需要是随机的。我似乎无法每次都获得随机数,而是当我需要不同的随机数时,它会打印相同的随机数 10 次。
我知道发生这种情况是因为随机数只分配一次,但如何让它每次都改变?
//Creating a random number between 1 and 107
static Random rnum = new Random();
static int randomNumber = rnum.nextInt((107- 1) + 1);
public static void main(String[] args) {
//Producer List
SinglyLinkedList pList = new SinglyLinkedList();
// Add random nodes to the list
for (int i = 0; i < 10; i++) {
pList.addNode(randomNumber);
}
代码的输出将是“71 71 71 71 71(重复)”,我只是想弄清楚如何让它每次都是不同的数字!请帮忙!
您应该为循环中的每次迭代生成一个新的随机数,而不是存储一个随机生成的数字。用当前时间作为 Random 对象的种子也是一个好主意
static Random rnum = new Random(System.currentTimeMillis());
//static int randomNumber = rnum.nextInt((107- 1) + 1);
public static void main(String[] args) {
//Producer List
SinglyLinkedList pList = new SinglyLinkedList();
// Add random nodes to the list
for (int i = 0; i < 10; i++) {
pList.addNode((rNum.nextInt(106) + 1));
}