在我的单链表中添加一个随机数,但它总是添加相同的随机数

问题描述 投票:0回答:1

我正在制作一个单链表,并且添加到列表中的数字需要是随机的。我似乎无法每次都获得随机数,而是当我需要不同的随机数时,它会打印相同的随机数 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(重复)”,我只是想弄清楚如何让它每次都是不同的数字!请帮忙!

java random linked-list singly-linked-list
1个回答
0
投票

您应该为循环中的每次迭代生成一个新的随机数,而不是存储一个随机生成的数字。用当前时间作为 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));
    }
© www.soinside.com 2019 - 2024. All rights reserved.