解决方案 »

  1.   

    class Exercise606 
    {
    public static void main(String[] args) 
    {
    int[] array=new int[50];
    int i=0;
    int j=3;
    array[0]=2;
    while(i<50)
    {
    int flag=0;
    double sqrtNum=Math.sqrt(j);
    for(int n=0;n<=i&&array[n]<=sqrtNum;n++)
    {
    if(j%array[n]==0)
    break;
    else
    flag=1;
    }
    if(flag==1)
    array[++i]=j;
    j++;
    }
    for(int n=0;n<50;n++)
    System.out.print(array[n]+" ");
    }
    }
      

  2.   

    先弄明白i++和++i的区别。
    array[++i]=j;
    应该是:
    array[i++]=j;
      

  3.   

    程序改成这样,结果可以出来,但是太复杂了,请问,有什么地方可以再简单些吗?
    class Exercise606 
    {
    public static void main(String[] args) 
    {
    int[] array=new int[50];
    int i=2;
    int j=4;
    array[0]=2;
    array[1]=3;
    while(i<50)
    {
    int flag=0;
    double sqrtNum=Math.sqrt(j);
    for(int n=0;n<i&&array[n]<=sqrtNum;n++)
    {
    if(j%array[n]==0)
    break;
    else
    flag=1;
    }
    if(flag==1)
    array[i++]=j;
    j++;
    }
    for(int n=0;n<50;n++)
    System.out.print(array[n]+" ");
    }
    }