黑马程序员技术交流社区

标题: 黑马基础测试__打印所有三位数质数 [打印本页]

作者: 伟大的骗子    时间: 2015-6-19 11:12
提示: 该帖被管理员或版主屏蔽
作者: g552092947    时间: 2015-6-19 11:23
可以,学习了  
作者: 伟大的骗子    时间: 2015-6-19 11:29
g552092947 发表于 2015-6-19 11:23
可以,学习了

好好学习,天天向上,终于见到技术分比我低的了,哈哈
作者: 溦丨涼    时间: 2015-6-19 11:45

public class Test6 {
       
        public static void main(String[] args)
        {
                //质数计算器
                int num = 0;
                //整除数计数器
                int count = 0;
                //遍历所有3位数,找出质数
                for (int x = 100;x<1000 ; x++)
                {
                        //判断x能被其他数整除的个数
                        for (int y = 2;y<=Math.sqrt(x) ;y++ )     //除数取到自身的开方就可以判断是否是质数
                        {
                                if(x%y==0)
                                        count++;
                        }
                        //如果除了1和其本身,不能被其他数整除,表示其为质数,打印出来
                        if(count==0)
                        {
                                System.out.println(x);
                                num++;
                        }
                        count = 0;
                }
                System.out.println("共"+num+"个");
        }
}

作者: g552092947    时间: 2015-6-19 11:47
伟大的骗子 发表于 2015-6-19 11:29
好好学习,天天向上,终于见到技术分比我低的了,哈哈

刚来好不好   这个技术分不好挣啊  
作者: 伟大的骗子    时间: 2015-6-19 11:50
溦丨涼 发表于 2015-6-19 11:45
public class Test6 {
       
        public static void main(String[] args)

啊啊啊,好漂亮啊,嗯啊,自有函数吗?话说这东西该怎么学啊,这些系统类和方法好多都完全不知道有这东西
作者: 溦丨涼    时间: 2015-6-19 11:55
伟大的骗子 发表于 2015-6-19 11:50
啊啊啊,好漂亮啊,嗯啊,自有函数吗?话说这东西该怎么学啊,这些系统类和方法好多都完全不知道有这东西 ...

Math.sqrt()是调用Math类的开方方法,自学视频里面有提到过Math类吧,虽然没有全部介绍里面的方法,不过应该是会经常用到。这个就是靠经验了,多用就知道了,我也是在其他地方看到别人用这个才知道有这个方法
作者: 伟大的骗子    时间: 2015-6-19 12:02
溦丨涼 发表于 2015-6-19 11:55
Math.sqrt()是调用Math类的开方方法,自学视频里面有提到过Math类吧,虽然没有全部介绍里面的方法,不过 ...

哎~果然还是学的不够啊
作者: 改变    时间: 2015-6-19 13:30
技术分快到碗里来
作者: 风随心动    时间: 2015-6-19 14:37
这个很简单的,这是我做的测试题
package com.itheima;
/**
编程打印所有的3位质数。(质数特点:只能被1和其本身整除)
*/
public class Test6 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int num;
                int i;
                for(num=100;num<1000;num++)    //遍历100-999所有的数
                {
                        for(i=2;i<=num/2;i++)    //遍历所有的除数。为了效率除数只取到被除数一半
                        {
                                if(num%i==0)
                                        break;
                        }
                        if(i>num/2)
                        {
                                System.out.print(num+",");
                        }
                }

        }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2