从 ArrayList 中检索随机项

2022-08-31 09:14:26

我正在学习 Java,但我遇到了一个问题 和 .ArrayListRandom

我有一个名为的对象,它有一个从另一个名为.catalogueitem

我需要一个方法,其中返回列表中某个对象的所有信息。
需要随机选择。catalogueitemitem

import java.util.ArrayList;
import java.util.Random;

public class Catalogue
{
    private Random randomGenerator = new Random();
    private ArrayList<Item> catalogue;

    public Catalogue ()
    {
        catalogue = new ArrayList<Item>();  
    }

    public Item anyItem()
    {
        int index = randomGenerator.nextInt(catalogue.size());
        System.out.println("Managers choice this week" + catalogue.get(index) + "our recommendation to you");
        return catalogue.get(index);
    }

当我尝试编译时,我得到一个错误,指向行说.。System.out.println

“找不到符号变量任意项”


答案 1

anyItem是一个方法,并且调用是在 return 语句之后,因此无论如何都不会编译,因为它是无法访问的。System.out.println

可能想重写它,如下所示:

import java.util.ArrayList;
import java.util.Random;

public class Catalogue
{
    private Random randomGenerator;
    private ArrayList<Item> catalogue;

    public Catalogue()
    { 
        catalogue = new ArrayList<Item>();
        randomGenerator = new Random();
    }

    public Item anyItem()
    {
        int index = randomGenerator.nextInt(catalogue.size());
        Item item = catalogue.get(index);
        System.out.println("Managers choice this week" + item + "our recommendation to you");
        return item;
    }
}

答案 2
public static Item getRandomChestItem(List<Item> items) {
    return items.get(new Random().nextInt(items.size()));
}

推荐