你如何制作一个RandomNumber整数的Arraylist? java的

时间:2016-03-07 06:14:37

标签: java bluej

所以我对编程场景比较陌生,我很困惑为什么我的代码不起作用。我正在尝试制作arraylist花,然后使用随机数生成器创建随机数量的某些花,并将它们存储在数组中。在我的逻辑中,我认为我创建了一个变量来存储数字(ex randomRoses)并将数字存储在数组中,这样我就可以通过调用{{1来轻松打印出每个花的数量。和位置。 (ex arraylist会打印出8朵玫瑰花)但遗憾的是它没有。

flowerArray[0]

4 个答案:

答案 0 :(得分:1)

您可以使用相同的随机对象,无需为随机整数生成创建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)来获取零位的整数

答案 1 :(得分:1)

这里您的数组列表与类对象相关联。初始化数组列表时,需要将条目添加到构造函数本身的数组列表中。所以当你说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)方法获取元素。

答案 2 :(得分: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>;

如果没有这种分号,它是如何编译的?

答案 3 :(得分:0)

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

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

希望有所帮助。