如何制作 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) 方法获取元素。
所以我是编程界的新手,我对为什么我的代码不起作用感到困惑。我正在尝试制作 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) 方法获取元素。