public class Sushu
{
public static void main(String[] args)
{
int i,j;
for(i=2;i<=100;i++)
{
for(j=2;j<=i/2;j++)
{
if(i%j==0)
break;    //break后执行哪个语句
}
if(j>i/2)    //这是什么意思?

{
System.out.print(" "+i);
}
    }
     }
}

解决方案 »

  1.   

    跳出离break最近的一个循环,执行:
    if(j>i/2)
      

  2.   

    public class Sushu
    {
    public static void main(String[] args)
    {
    int i,j;
    for(i=2;i<=100;i++)
    {
    for(j=2;j<=i/2;j++)
    {
    if(i%j==0)
    break;    //break后执行哪个语句:这后面将不执行任何语句,只是做为跳出这一次的循环~~
    }
    if(j>i/2)    //这是什么意思?:做为求100以内的素数,当判断到所要判断的数的一半值还没有i%j==0这一个条件时就可以确定这个数为素数了,节约系统的运算的时间~~{
    System.out.print(" "+i);
    }
        }
         }
    }
      

  3.   

    break;    //break后执行哪个语句
    跳出该次循环,执行下一次循环。至于为什么,你只要知道素数是什么就清楚了。
    if(j>i/2)    //这是什么意思?
    这个其实也是素数的定义问题,素数就是只有1和本身整除的数,检查整除只要检查到这个数一半就可以,因为出了1之外,最小可以整除的数就是2,所以可以整除的数是在n/2以内。
      

  4.   

    break跳出最近的一重循环,执行跳出循环的下一跳语句,即if(j>i/2)