`
lianxiangbus
  • 浏览: 527718 次
文章分类
社区版块
存档分类
最新评论

输出101~200内的质数

 
阅读更多

continue用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面未执行的循环,并开始下一次循环过程
输出结果:

E:\Java>javac Test2.java

E:\Java>java Test2
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199

E:\Java>

分享到:
评论
2 楼 Mr.TianShu 2016-08-09  

优化一下


  
 public static void testIsPrime3(int n){
	 boolean flag=true;
	 
	 for(int i=2;i<n;i++){
		 for(int j=2;j<=Math.sqrt(i);j++){
			 if(i%j==0){
				 flag = false;
			     break; 
			 }
			 flag = true;
		 }
		 
		 if(flag){
			 System.out.println(i);
		 }
		 
	 }
 }


1 楼 Mr.TianShu 2016-08-09  
1既不是质数也不是合数
此方法判断0-100就会发生错误

错误的写法:
   public static void t1(int start,int end){
    for(int i = start; i < end; i +=2){ 
           
    boolean flag = true;
   
             for( int j = 2; j < i; j++){ 
                 if(i % j ==0){ 
                     flag = false; 
                     break;   
                 }    
             } 
            
             if(!flag){ 
                 continue;    
             } 
            
             System.out.println( i);     
         }
   
    }




正确的写法:


    public static void testIsPrime(int n){
    	int c = 0;
    	
    	for(int i =2;i<n;i++){
    		if(n%i !=0){ 
    			c++;  //记录下没有被整除的个数,从2开始到n-1之间,去除质数的范围。
    		}
    	}
    	if(c == n-2) //没被整除的个数 等于 质数应有的没被整除的个数
    		System.out.println(n+" 是质数");
    	else {
			//System.out.println(n+" 不是质数");
		}
    
    }
    
    
   public static boolean testIsPrime2(int n){
	   if (n <= 3) {
	        return n > 1;
	    }
	   
	   for(int i=2;i<n;i++){
		   if(n%i == 0)
			   return false;
	   }
	   return true;
   }
    







相关推荐

Global site tag (gtag.js) - Google Analytics