gpt4 book ai didi

java - ArrayList 和 java.lang.OutOfMemoryError

转载 作者:行者123 更新时间:2023-12-01 11:55:16 25 4
gpt4 key购买 nike

我正在尝试编写一个程序来创建一个初始大小为 1 的 ArrayList 并用随机数填充它。接下来,ArrayList 被清空,ArrayList 的大小增加 1,并再次用随机数填充。我希望我的程序重复这些步骤,直到 ArrayList 大小等于用户指定的数字。

因此输出将如下所示:

1

3,8

6,3,7

...

n

到目前为止我已经制作了:

public static void main (String args[]){

ArrayList<Integer> al = new ArrayList<Integer>();
Random rand = new Random();
int val=1;
int ii =1;
while(val<400){
for (int j = 0; j<ii;)
{
ii++;
val++;
pick = rand.nextInt(100);
al.add(pick);
}

System.out.println("Contents of al: " + al);

al.clear();
System.out.print("Array has been cleared: " + al);
}

有什么想法可以让它发挥作用吗?

最佳答案

你永远不会增加j。您在 for 循环内递增 ii 和 val ,因为我认为您实际上想在 while 循环中执行此操作。尝试下面的示例。

    ArrayList<Integer> al = new ArrayList<Integer>(); 
Random rand = new Random();
int val=1;
int ii =0;
while(val < 400){
for (int j = 0; j<ii; j++) {
int pick = rand.nextInt(100);
al.add(pick);
}
ii++;
val++;
System.out.println("Contents of al: " + al);
al.clear();
System.out.print("Array has been cleared: " + al);
}

如果您为变量指定有意义的名称,您的任务会容易得多。例如

    ArrayList<Integer> al = new ArrayList<Integer>(); 
Random rand = new Random();
int lineNumber = 1;
int lineLength = 0;
while(lineNumber < 400){
for (int randCount = 0; randCount < lineLength; randCount++) {
int pick = rand.nextInt(100);
al.add(pick);
}
lineLength++;
lineNumber++;
System.out.println("Contents of al: " + al);
al.clear();
System.out.print("Array has been cleared: " + al);
}

关于java - ArrayList 和 java.lang.OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28505968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com