정수 (integer)와 장거리 (long range)에서 배열을 호출하기 때문에 숫자 또는 정수를 만들려고합니다. 여기 내 코드가있다. 내가 그것을 실행할 때, '메모리 힙 크기 초과'예외가 발생했습니다. HVM 구성에서 덤프 파일 크기를 늘리려고했습니다. .크기가 10 자리 숫자 이상인 숫자 배열을 선언하는 방법은 무엇입니까?
코드를 (반드시 그냥 끝으로 건너 이해할 필요가 그나마 작동하지 않습니다
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
계산 결과가 예상 한 값을 반환하는지 확인하십시오. 그렇다면 힙을 더 크게 만들 필요가 있습니다. –
예외의 ** 전체 스택 추적 **은 무엇입니까? ** ** 질문에 ** 수정하십시오. – gparyani
'(c1 * (c1 + 1))/2'의 값은 무엇입니까? – AlexR