判断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也会在编译时报错。
//判断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也会在编译时报错。
相关文章推荐
- 积跬步-至千里系列之二:Android中Activity的启动流程分析和总结
- POJ-1887-Testing the CATCHER【最长不上升子序列nlogn】
- 黑马程序员——入门 java语言学习六大要点
- PHP规范学习——PRS-0
- 【转】java 注释规范
- 《软件方法》读书笔记3
- 《软件方法》读书笔记2
- Android studio将项目打包成签名安装包
- Undo Related Wait Events & Known Issues (文档 ID 1575701.1)
- Spring 事务的梳理一——事务的属性
- 第一次编程练习
- 云盘的调用流程
- Oracle排名函数(Rank)实例详解
- 没有躲过的坑--vector使用erase后迭代器变成野指针
- 没有躲过的坑--vector使用erase后迭代器变成野指针
- 十一章:用CSS进行布局
- 犯错,什么是错
- java 学习心得3
- ubuntu+virtualbox 安装USB摄像头 问题
- Unity3D shader