课外天地 李树青学习天地Java程序语言课件 → 程序代码——输出素数


  共有19760人关注过本帖树形打印复制链接

主题:程序代码——输出素数

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
程序代码——输出素数  发帖心情 Post By:2011/3/13 12:49:03 [只看该作者]

public class Exec {
        public static void main(String args[]) {
                for (int i = 1; i <= 1000000; i += 2) {
                        boolean flag = true;

                        for (int j = 2; j < Math.sqrt(i); j++) {
                                if (i % j == 0) {
                                        flag = false;
                                        break;
                                }
                        }

                        if (flag)
                                System.out.println(i);
                }

        }
}


 回到顶部
帅哥哟,离线,有人找我吗?
20-aini
  2楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:1 积分:241 威望:0 精华:0 注册:2011/3/12 0:22:47
  发帖心情 Post By:2011/3/14 17:09:04 [只看该作者]

public class Esce {
 public static void main(String[] args) {
  int i = 1, j = 2;
  for (i = 1; i < 101; i++) {
   for (j = 2; j < i; j++)
    if (i % j == 0) {
     break;
    } else
     System.out.print(i + " ");

  }
 }

}
为什么把  else  换成   if(i==j) 才对?  

  if(i==j)在这起什么作用??


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  3楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
回复  发帖心情 Post By:2011/3/14 17:56:11 [只看该作者]

你的错误来自于排版,请注意格式Ctrl+Shift+F

 

如果是else则与if语句一起作为for的内部子语句

public class Exec {
        public static void main(String[] args) {
                int i = 1, j = 2;
                for (i = 1; i < 101; i++) {
                        for (j = 2; j < i; j++)
                                if (i % j == 0) {
                                        break;
                                } else
                                        System.out.print(i + " ");
                }
        }
}

 

如果是if (i == j)则此语句与for语句同级,不是for的内部子语句

 

public class Exec {
        public static void main(String[] args) {
                int i = 1, j = 2;
                for (i = 1; i < 101; i++) {
                        for (j = 2; j < i; j++)
                                if (i % j == 0) {
                                        break;
                                }
                        if (i == j)
                                System.out.print(i + " ");

                }
        }
}

 

 


 回到顶部