当前位置: 代码迷 >> Java相关 >> 谁帮我注释下,要详细的,谢谢大家!!
  详细解决方案

谁帮我注释下,要详细的,谢谢大家!!

热度:106   发布时间:2009-10-29 22:20:04.0
谁帮我注释下,要详细的,谢谢大家!!
//file name:zhishu.java  //输出区间的所有质数
import java.util.*;
public class zhishu
{   
    public static void main(String[] args)    {
        Scanner in = new Scanner(System.in);
        System.out.println("输入数的上限跟下限:");
        int min = in.nextInt();
        int max = in.nextInt();
        boolean f = true;
        if(min%2==0)   
        {
            for(int i=min+1;i<max;i+=2)    {
                for(int j=2;j<i;j++){
                    if(i%j == 0){
                        f = false;
                        break;
                    }
            
                }
                if(!f){
                        f = true;
                        continue;                        
                }
                System.out.println(i);
            }
        }
        else   
        {
            for(int i=min;i<max;i+=2)    {
                for(int j=2;j<i;j++)    {
                    if(i%j == 0)    {
                        f = false;
                        break;
                    }
                }
                    if(!f)    {
                        f = true;
                        continue;
                    }
                System.out.println(i);
            }
        }   
    }
}
搜索更多相关的解决方案: 注释  

----------------解决方案--------------------------------------------------------
public class zhishu     
{      
    public static void main(String[] args)    {  
        Scanner in = new Scanner(System.in);  
        System.out.println("输入数的上限跟下限:");  
        int min = in.nextInt();  
        int max = in.nextInt();  
        boolean f = true;  
        if(min%2==0)       //判断min是否为偶数
        {  
            for(int i=min+1;i<max;i+=2)    {  
//如果min为偶数->i=min+1;i小于max;i+2->比如说min为2,那么就是i=2+1;i小于max;3+2
                for(int j=2;j<i;j++){  
                    if(i%j == 0){   //比如说i=6;j=3;那么此时的i就不是质数了.f->为假;跳出内循环
                        f = false;  
                        break;  
                    }  
              
                }  
                if(!f){ //如果f为非真->也就是说f为假时
                        f = true;  
                        continue;   //跳到迭到部分(i+2)继续执行                       
                }  
                System.out.println(i);   //当f为真(true)时。输出此时i的值
            }  
        }  
        else      
        {  
            for(int i=min;i<max;i+=2)    {  
                for(int j=2;j<i;j++)    {  
                    if(i%j == 0)    {  
                        f = false;  
                        break;  
                    }  
                }  
                    if(!f)    {  
                        f = true;  
                        continue;  
                    }  
                System.out.println(i);  
            }  
        }      
    }  
}

[ 本帖最后由 gameohyes 于 2009-10-29 22:52 编辑 ]
----------------解决方案--------------------------------------------------------
顶!LS解释得很详细
----------------解决方案--------------------------------------------------------
  相关解决方案