A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© IT虫 中级黑马   /  2016-11-29 11:50  /  845 人查看  /  9 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

求1-100之间的素数并输出,网上看了看,自己也做了,一个是不懂再就是程序出错,求解答一下

9 个回复

倒序浏览
回复 使用道具 举报
kevin0 发表于 2016-11-29 12:36
代码贴出来看一下

已经找大神解决了,谢谢了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
是不是两层循环可以呢?外循环x为2到100,内循环y为2到x,用外循环当前的数依次对内循环的数取模,不为0就打印出来

来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
一蓑烟雨任平生@ 发表于 2016-11-29 14:35
是不是两层循环可以呢?外循环x为2到100,内循环y为2到x,用外循环当前的数依次对内循环的数取模,不为0就 ...

现在还没学到你发的自定义方法时候呢!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
IT虫 发表于 2016-11-29 17:32
现在还没学到你发的自定义方法时候呢!

我看的比较早也可以直接写到主函数里
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
IT虫 中级黑马 2016-11-29 22:05:11
7#
一蓑烟雨任平生@ 发表于 2016-11-29 18:14
我看的比较早也可以直接写到主函数里

哈哈,可以可以!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
201314 中级黑马 2016-11-29 23:16:26
8#
好好学习,天天向上。
回复 使用道具 举报
回复 使用道具 举报
xyy222 中级黑马 2016-11-29 23:35:37
10#
以下提供两种解法个思路

/*
* 求1-100中质数的和
*
* 2 3 5 7 11 13 17 19 23 29 31
*
*
*/
public class Demo2 {
        public static void main(String[] args) {
                method1();
                method2();
                // 理解
                method3();
        }

        private static void method3() {
                int count = 0;
                for (int x = 2; x <= 100; x++) {
                        int y = 2;
                        while (x % y != 0) {
                                y++;
                        }
                        if (x == y) {
                                System.out.println(x);
                                count++;
                        }
                }

                System.out.println("1-100中的质数的个数是:" + count);
        }

        private static void method2() {
                int count = 0;
                for (int x = 2; x <= 100; x++) {
                        int count1 = 0;
                        for (int y = 2; y <= x; y++) {
                                if (x % y == 0) {
                                        count1++;
                                }
                        }
                        if (count1 > 1) {
                                System.out.println(x);
                                count++;
                        }
                }

                System.out.println("1-100中的合数的个数是:" + count);

        }

        private static void method1() {
                // 1不是素数,所以直接从2开始循环
                int count = 0;
                for (int x = 2; x <= 100; x++) {
                        int count1 = 0;
                        for (int y = 2; y <= x; y++) {
                                if (x % y == 0) {
                                        count1++;
                                }
                        }
                        if (count1 == 1) {
                                System.out.println(x);
                                count++;
                        }
                }

                System.out.println("1-100中的质数的个数是:" + count);
        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马