我正在尝试创建一个数字(或整数,无论你想怎么调用它,因为它超出了整数和长范围)数组..比如说大小。这是我的代码。当我执行它时,我收到“内存堆大小不足”异常 我什至尝试过增加转储文件的大小或 HVM 配置中的任何内容。不起作用
代码片段(不一定需要理解,直接跳到最后:
int dsum=0;
int c1=-1;
int abno[]=new int[28124];
for(int i=2;i<28124;i++)
{
int f=(i/2);
for(int j=1;j<=f;j++)
{
if(i%j==0)
{
dsum+=j;
}
}
if(dsum>i)
{
c1++;// AROUND 29000 IN THE END
abno[c1]=i;
}
}
int abnos[]=new int[(c1*(c1+1))/2];//CANT STORE THIS BIG A VALUE
最佳答案
您可以增加java中的堆大小
-Xmx<size> ,maximum heap size
-Xms<size> ,minimium heap size
例如java -Xms 256m -Xmx 6g yourProgramName.java -Xms 256m -Xmx 6g yourProgramName.如果您使用某些 IDE(例如 intellij),那么您可以通过 VM 选项传递这些选项
关于java - 如何声明大小约为 10 位数字或更大的数值数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25872875/