首页 新闻 会员 周边 捐助

java编程100~200间所有素数的输出,要求每行限定10个数字(<---如何实现呢?)

0
悬赏园豆:15 [待解决问题]
/*100~200间输出质数*/
//定义一个类PrimeNumber类
class PrimeNumber{
    int i,j; //成员变量
    int k=1;
    public void Prime()//方法
    {
        for(i=101;i<=200;i++)
        {
            for(j=2;j<i/2;j++)
            {
                if(i%j==0){
                    break;
                }else{
                    System
                    .out.print(" "+i);
                    break;
                }
            }
        }
        
                
    }
    
}

public class PrimeTestDrive{
    public static void main(String[] args)
    {
        PrimeNumber p=new PrimeNumber();
        p.Prime();
    }
}

问题补充:

如何实现每行限定10个数的要求

资深呆的主页 资深呆 | 初学一级 | 园豆:37
提问于:2015-10-09 21:04
< >
分享
所有回答(5)
0

增加一个变量来计数,每次输出前判断该变量值,如果等于10,则输出换行,然后置0

jello chen | 园豆:7336 (大侠五级) | 2015-10-09 21:31
0

class PrimeNumber{
    int i,j; //成员变量
    int k=1;
    
    //计数
    int count = 0;
    
    public void Prime()//方法
    {
        for(i=101;i<=200;i++)
        {
            for(j=2;j<i/2;j++)
            {
                if(i%j==0){
                    break;
                }else{
                    System.out.print(" "+i);
                    
                    //*******更改代码部分**************
                    count++;
                    //进行判断                    
                    if(count == 10){
                        System.out.println("\n");
                        count = 0;
                    }
                    //*********************
                    
                    break;
                }
            }
        }
        
                
    }
    
}

public class PrimeTestDrive{
    public static void main(String[] args)
    {
        PrimeNumber p=new PrimeNumber();
        p.Prime();
    }
}

苏幕遮soft | 园豆:401 (菜鸟二级) | 2015-10-09 21:48
0

不要这里问作业题吧。。

iVechan | 园豆:351 (菜鸟二级) | 2015-10-11 10:18
0

在最外层for循环外添加以变量.初值为0,在for循环中每发现一个素数变量加1,判断当变量为10时输出换行,并置为0;

D.Angelo | 园豆:216 (菜鸟二级) | 2015-10-13 23:31
0

代码如下

class PrimeNumber{

public static void main(String[] args){

  int count = 0;

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

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

      if(i%2==0){

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

        count++;

      }

      if(count%10==0){

        System.out.println();

      }

    }

  }

}

}

jasondyoung | 园豆:424 (菜鸟二级) | 2016-01-20 00:33

有个地方手误了if(i%2==0)改成 if(i%j==0)

支持(0) 反对(0) jasondyoung | 园豆:424 (菜鸟二级) | 2016-01-20 00:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册