题目:判断101-200之间有多少个素数,并输出所有素数。
public class Test2 {
public static void main(String[] args) {
int m=101;
int n=200;
int count=0;
System.out.print("在"+m+"和"+n+"之间的素数有");
//输出素数值,并统计素数个数
for(int i=m;i<n;i++) {
if(isPrime(i)){//引用判断素数的方法
count++;
System.out.print(i+" ");//输出对应素数的值
if(count==0){
System.out.println();//没有素数,输出为空
}
}
}
System.out.println();//为了让结果好看,输出换行
System.out.println("共"+count+"个素数");
}
//判断素数的方法
private static boolean isPrime(int n){
boolean flag = true;
if(n==1)
flag = false;//1不是素数
else{
for(int i=2;i<n;i++){//此处也可以写成i<=Math.sqrt(n);用一个数分别去除2到sqrt(这个数)
if((n%i)==0 || n==1){
flag = false;
break;
}
else
flag = true;
}
}
return flag;
}
}
运行结果为:
在101和200之间的素数有101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
共21个素数