如何制作 RandomNumber 整数的 Arraylist? java

How do you make an Arraylist of RandomNumber integers? java

所以我是编程界的新手,我对为什么我的代码不起作用感到困惑。我正在尝试制作 arraylist 花,然后使用随机数生成器创建随机数的某些花,并将它们存储在数组中。在我的逻辑中,我认为我创建了一个变量来存储数字(例如 randomRoses)并将数字存储在数组中,这样我就可以通过调用 [=12 轻松地打印出每朵花的数量=] 和位置。 (例如 flowerArray[0] 会打印出 8 朵玫瑰)但遗憾的是它不会。

public class Flower
{

    private int randomRoses;
    private int randomTulips;
    private int randomOrchids;
    public ArrayList <Integer> flowerArray;

    public Flower()
    {
        r = new Random();
        t = new Random();
        o = new Random();
        int randomRoses = (r.nextInt(10) + 0);
        int randomTulips = (t.nextInt(10) + 0);
        int randomOrchids = (o.nextInt(10) + 0);
        flowerArray = new ArrayList<Integer>
    }

    public void add2Array ()
    {
        flowerArray.add(randomRoses); //flowerArray[0] is the # of roses
        flowerArray.add(randomTulips); //flowerArray[1] is the # of tulips
        flowerArray.add(randomOrchids); //flowerArray[2] is the # of orchids
    }

    public void printArray()
    {
        System.out.println(flowerArray[0]);
    }

这将给出您期望的输出。

public void printArray
{
 System.out.println(flowerArray.get(0)+" Roses");
System.out.println(flowerArray.get(1)+" Tulips");
System.out.println(flowerArray.get(2)+" Orchids");

}

此外,您在定义 arraylist 的语句后遗漏了一个分号。 进行更正:

flowerArray=new ArrayList<Integer>;

没有那个分号是如何编译的?

它不起作用,因为您获取第 i 朵花的语法错误。 您正在使用 java.util.ArrayList,因此从 ArrayList 获取对象的正确方法是调用 get() 方法。

System.out.println(flowerArray.get(0));

希望对您有所帮助。

您可以使用相同的随机对象,无需为随机整数生成创建它的 3 个实例,

Random r = new Random();
for (int i = 0; i < 3; i++) {
    flowerArray.add(r.nextInt(10));
}
System.out.println(flowerArray);

你不能这样做 flowerArray[0] 因为你有一个 arrayList 而不是数组。 你可以改为: flowerArray.get(0) 获取零位的整数

此处您的数组列表与 class 对象相关联。初始化数组列表时,您需要将条目添加到构造函数本身的数组列表中。所以当你说 object.printArray() 它实际上返回给你空数组列表时,这就是你每次都得到 0 的原因。试试这个。

class Flower
{
    private int randomRoses;
    private int randomTulips;
    private int randomOrchids;
    public ArrayList<Integer> flowerArray;
    public Flower()
    {
        Random r = new Random();
        Random t = new Random();
        Random o = new Random();
        int randomRoses = (r.nextInt(10));
        int randomTulips = (t.nextInt(10));
        int randomOrchids = (o.nextInt(10));
        System.out.println(randomRoses);
        System.out.println(randomTulips);
        System.out.println(randomOrchids);
        flowerArray = new ArrayList<Integer>();
        flowerArray.add(randomRoses); //flowerArray[0] is the # of roses
        flowerArray.add(randomTulips); //flowerArray[1] is the # of tulips
        flowerArray.add(randomOrchids); //flowerArray[2] is the # of orchids
    }
    public void printArray()
    {
        System.out.println(flowerArray.get(0));
    }
}
public class Test { 
    public static void main(String[] args) {
       Flower f = new Flower();
       f.printArray();
    }
}

而在数组列表中,您可以使用 get(index) 方法获取元素。