结果总是出不来,程序那里有问题?
- /*
- 需求:打印出1000以内的所有质数。
- 思路:
- 用第一个循环去从2开始遍历1000以内的所有数,并第二层循环去判断所遍历的数是不是质数,
- 要判断遍历的数是不是质数,只需整除完从2到自身的一半的数即可,如果都没有被整除,则
- 该数为质数,否则不为质数。
- */
- class ZhiShuDemo
- {
- public static void main(String[] args)
- {
- printZhiShu(1000);
- }
- public static void printZhiShu(int key)
- {
- int count=0,flag=0;//定义一个计数器和标记;
- for (int x=2;x<=key ;x++ )//对2到1000的数进行遍历;
- {
- if((x/2)<2)//对于数值除以2的结果不超过的2的数,可判断为质数,计数器加1,并打印;
- {
- count++;
- System.out.println(x+"--"+count+" ");
- }
- else
- {
- for (int y=2;y<=(x/2) ;y++ )//判断是否为质数,只需整除完2到自身的一半;
- {
- if ((x%y)==0)
- {
- flag=1;//如果能够被整除,标志置为1;
- break;//跳出当前循环;
- }
-
- }
- if (flag==0)//如果标志为0,则计数器加1,并打印该质数和累加的次数;
- {
- count++;
- System.out.println(x+"--"+count+" ");
- }
- }
- }
- }
- }
复制代码
|
|