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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
                 * 求1-100之间所有的质数,并将结果打印到控制台。
                        要求:6个一行。  
                        提示:最小的质数是2
                        质数: 只能被1 和 自身整数的数字
                        7: 1 2 3 4 5 6 7
                        14: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
                 */
               
                /*
                 * 思路:
                 *         1、获取到1-100之间所有的数字,但是我们知道最小的质数是2,所以循环就从2开始了。
                 *  2、获取到当前数字(i),然后依次和比它小的数字进行取模操作。
                 *    //小细节:任何数字和1都能整除,所以,这里我们从2开始进行判断
                 *  3、判断第二步的结果是否等于0
                 *          如果等于0:i不是质数
                 *          如果不等:i是质数,就打印。
                 *  4、定义变量,按照6个一行输出即可
                 */
基础版。。。。。。
int count = 0;
                a: for (int i = 2; i <= 100; i++) {
                        for (int j = 2; j < i; j++) {
                                if (i % j == 0) {
                                        //能进这里说明一件事,i不是质数
                                        continue a;
                                }
                        }
                        //如果能走到这里,说明是质数
                        System.out.print(i +  "\t");
                        count++;
                        if (count % 6 == 0) {
                                System.out.println();
                        }
                }
        }
}
旗舰版。。。。
public class Demo04_旗舰版 {
        public static void main(String[] args) {
                long start = System.currentTimeMillis();
                a: for (int i = 2,count = 0; i <= 100; i++) {
                        for (int j = 2; j < i; j++) {
                                if (i % j == 0)
                                        continue a;
                        }
                        System.out.print((count++ % 6 != 0)?(i + "\t"):((count == 1)?(i + "\t"):("\r\n" + i + "\t")));
                        //System.out.println(5>3?"大":"小");
                }
                for (int i = 0; i < 100000; i++) {
                        System.out.println(i);
                }
                long end = System.currentTimeMillis();
                System.out.println(end - start);
        }
}
豪华版。。。。。。
public class Demo04_豪华版 {
        public static void main(String[] args) {
                a: for (int i = 2,count = 0; i <= 100; i++) {
                        for (int j = 2; j < i; j++) {
                                if (i % j == 0)
                                        continue a;
                        }
                        System.out.print(i +  "\t");
                        if (++count % 6 == 0)
                                System.out.println();
                }
        }
}
java开发就是不断对程序进行最优化精简的的过程,希望大家一起努力,开发出令人满意的程序,一起加油!!!!!

6 个回复

正序浏览
顶~~顶,
回复 使用道具 举报

哪里。一起加油
回复 使用道具 举报
UZI 中级黑马 2016-10-26 00:51:18
报纸
很强,受教了~~
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
int count = 0;
                a: for (int i = 2; i <= 100; i++) {
                        for (int j = 2; j < i; j++) {
                                if (i % j == 0) {
                                       
                                        continue a;
                                }
                        }
                                                System.out.print(i +  "\t");
                        count++;
                        if (count % 6 == 0) {
                                System.out.println();
                        }
                }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马