您的位置:首页 > 其它

判断101-200之间有多少个素数,并输出所有素数。素数为一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。

2015-11-30 23:40 603 查看
package com.xia.test;

//判断101-200之间有多少个素数,并输出所有素数。素数为一个大于1的自然数,除了1和它本身外,不能被其他自然数整除

public class Demo {

public static void main(String[] args) {

int count = 0;

for(int i=101;i<200;i+=2){

boolean a=false;

for(int j=2;j<=Math.sqrt(i);j++){

if(i%j==0){

a=false;

break;

}else{

a=true;

}

}

if(a==true){

count++;

System.out.print(i+" \t ");

}

}

System.out.println("\n 101-200之间素数个数为:"+count);

}

}

基础不好,过程中遇到个问题,把if(a==true)写成了if(a=true),少了一个等号,导致结果出错,=赋值,==表判断,改正后正确。百度中发现有人问if(a==true)和if(true==a)有什么区别?发现我出的错正好是这个问题的区别所在。其区别在于项目中推荐使用true==a,是为了防止漏写一个=号,做这种判断时定值放在前面少写=号会报编译错,而反过来写就不会,导致结果出错后还不容易调试出来。在写代码的时候为了避免手误,把“==”(判等)敲成“=”(赋值)引起错误,推荐采用 if(常量 == 变量) 的模式。但这个模式一般不用在 java 中,而是在 C++ 或 c 中。因为 java 中如果用IDE的话,会直接给出提示,没有用IDE也会在编译时报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: