gpt4 book ai didi

java - 嵌套循环导致 OutOfMemory 错误 : Java heap space

转载 作者:行者123 更新时间:2023-12-01 06:44:45 24 4
gpt4 key购买 nike

我正在尝试创建一个字符串数组的数组列表,其中包含四个维度中 0 和 1 的所有可能组合。也就是说,[0,0,0,0] 是一种组合,[0,0,0,1] 是另一种组合。总共有 $2^4$ 组合,因此我使用多个嵌套循环来生成此数组列表。但是,当我尝试运行循环时,出现“内存不足”错误。看看:

String[] t4 = new String[4]; 

ArrayList<String[]> list4 = new ArrayList<String[]>();

for(int i=0; i<= 1; i++)
{
String count = Integer.toString(i);
t4[0]=count;
list4.add(t4);
for(int j=0; j<= 1; j++)
{
String count1 = Integer.toString(j);
t4[1]=count1;
list4.add(t4);
for(int k=0; k<= 1; k++)
{
String count2 = Integer.toString(k);
t4[2]=count2;
list4.add(t4);
for(int m=0; m<= 1;)
{
String count3 = Integer.toString(m);
t4[3]=count3;
list4.add(t4);
t4 = new String[4];
}
}
}
}

我的循环有问题吗?或者还有其他方法来生成所需的数组列表吗?

最佳答案

你有:

for(int m=0; m<= 1;)

您需要:

for(int m=0; m<= 1; ++ m)

否则,这将是一个无限循环,最终会用 String[4] 填充 list4,直到内存耗尽。

如果不增加 mm 将保持为 0,并且循环条件始终为 true。

关于java - 嵌套循环导致 OutOfMemory 错误 : Java heap space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18280573/

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