class ddd 
{
public static void main(String[] args) 
{

for(int x=101;x<=200;x++)  //x为101-200之间的数
{
for(int b=2;b<x;b++)//b为被除的数
{

if(x%b==0)
{
break;
}
else
{

System.out.println(x+"是素数");
}
}
}

}
}

解决方案 »

  1.   

    else里边也break
      

  2.   

    public static void main(String[] args) {
    for (int i = 101, j; i <= 200; i++) {
    int k = (int) Math.sqrt(i);
    for (j = 2; j <= k; j++) {
    if (i % j == 0) {
    break;
    }
    }
    if (j > k) {
    System.out.println(i);
    }
    }
    }
      

  3.   


    public static void main(String[] args) { for (int x = 101; x <= 200; x++) // x为101-200之间的数
    {
    for (int b = 2; b <= x; b++)// b为被除的数
    { if (x % b != 0) {
    continue;
    } else {
    if (x != b) {
    break;
    }

    System.out.println(x + "是素数");
    }

    }
    } }
      

  4.   

    你的X的值 有问题,最外层的循环X的值一直在变大,而内部循环的X的值也一直在变化,所以只有101是你的结果,你要是实在看不明白,你就看看你循环了几圈,你循环的太多了
      

  5.   

    public static void main(String[] args) throws Exception {
    double sq = 0;
    for(int i=101;i<=200;i++){
    sq = Math.sqrt(i);
    for(int j=2;j<=sq;j++){
    if(i%j==0){
    sq = -1;
    break;
    }
    }
    if(sq!=-1){
    System.out.println(i);
    }
    }
    }