求100以内的素数(质数),并按每行5个数打印输出.我的代码如下:
public class HomeWork2
{
public static void main(String args[])
{

for (int i = 1,j = 1; i <= 100; i++)
{

for (int m = 2; m < i; m++)
{

if (i % m == 0)
break;
else
System.out.print(i);

j++;

if (j % 5 == 0)
System.out.print('\n');
else
System.out.print(' ');
}
}
}
}运行后的结果是 3 5 5 5                         //为什么这行只有4个
               7 7 7 7 7                       //为什么会打印这么多7,怎么修改
               9 11 11 11 11
               11 11 11 11 11
               ...                             //后面的结果想必大家都猜出来了..唉!
               
感谢大家帮我解决困难

解决方案 »

  1.   

    public class HomeWork2
    {
    public static void main(String args[])
    {

    for (int i = 1,j = 1; i <= 100; i++)
    {

    for (int m = 2; m < i; m++)
    {

    if (i % m == 0)
    break;
    }
    if (m==i) {
    System.out.print(i);

    j++;

    if (j % 5 == 0)
    System.out.print('\n');
    else
    System.out.print(' ');
    }
    }
    }
    }
      

  2.   

    public class HomeWork2 { /**
     * @param args
     */
    public static void main(String[] args) { for (int i = 1, j = 0; i <= 100; i++) { for (int m = 2; m < i; m++) { if (i % m == 0) {
    break;
    }
    if (m == i-1) {
    System.out.print(i);
    j++;
    if (j % 5 == 0)
    System.out.print('\n');
    else
    System.out.print(" ");
    }


    }
    }
    }}
      

  3.   

    gg,你不能自己调试一下啊?我只是告诉你你的主要问题在哪里了。
    又没有分,象我这样的热心人到哪里找阿。
    public class HomeWork2
    {
    public static void main(String args[])
    {

    for (int i = 1,j = 0; i <= 100; i++)
    {
        int m=0;

    for (m = 2; m < i; m++)
    {

    if (i % m == 0)
    break;
    }
    if (m==i) {
    System.out.print(i);

    j++;

    if (j % 5 == 0)
    System.out.print('\n');
    else
    System.out.print(' ');
    }
    }
    }
    }
      

  4.   

    吃饭回来,顺便提一下,这个算法不是最优的,只找100内的到没什么,m 可以不用循环到i,只要循环到i开方取整就行.有需要你可以改一下.