本帖最后由 luck28 于 2012-08-26 18:04:10 编辑

解决方案 »

  1.   

    初学者常见错误, continue的判断语句放错嵌套循环的位置了。下次请你排好版,就很容易看清楚了:
            for (int i = 101; i <= 200; i += 2) {
                boolean f = true;
                for (int j = 2; j < i; j++) {
                    if (i % j == 0) {
                        f = false;
                        break;
                    }            }
                if (!f) { // 你之前错误的把它放在内层循环里面了
                    continue;
                }
                System.out.print(" " + i);
            }
      

  2.   

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

    for(int i=101;i<=200;i+=2){
    boolean f = true;
    for(int j = 2;j < i;j++){
    if(i%j == 0){
    f = false;
    break;
    }
    }
    if(!f){
    continue;
    }

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

  3.   


    分行用:
      System.out.println(" "+ i);
    而不是:
      System.out.print(" "+ i);
      

  4.   

    continue最对当前的循环有效。
    你的列子里。你写在了
    for (int j = 2; j < i; j++) {
    里面了,所以就继续做这个循环的下一个循环了。根据你的要求,其实continue应该放在
    for (int i = 101; i <= 200; i += 2) {
    里。
      

  5.   

    for (int i = 101; i <= 200; i += 2) {
    boolean f = true;
    for (int j = 2; j < i; j++) {
    if (i % j == 0) {
    f = false;
    break;
    }
    }
    if(f){
    System.out.print(" " + i);
    }
    }