当我运行此代码时,我收到以下错误:“int error:thread”中的异常“main”java.lang.OutOfMemoryError:Java堆空间“。
有人能够向我解释为什么会这样吗?
import java.lang.*;
import java.util.*;
public class Eleven
{
static void name(int n)
{
int f1 = 0, f2 = 1, i;
int next;
String []arr= new String[1000000000];
if (n < 1)
return;
for (i = 1; i <= n+1; i++)
{
next = f1 + f2;
arr[next]="O";
f1 = f2;
f2 = next;
}
for (i = 1; i <= n+1; i++)
{
if(arr[i]!="O")
arr[i]="o";
}
for (i = 1; i <= n+1; i++)
{
System.out.print(arr[i]);
}
}
public static void main(String[] args)
{
int n;
System.out.println("enter the lenth of name");
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
name(n);
}
}
答案 0 :(得分:0)
首先,请确保您使用的是64位JVM。
其次,使用以下参数向JVM添加内存: -Xms512m -Xmx4g