do while循环列举20以内整数中的全部素数

编写程序,用do while循环列举20以内整数中的全部素数。

  运行结果:

程序运行结果如图1所示。

1  运行结果

  解题关键:

l         do...while语句的使用。

l         m2除,如果m能被2之中任何一个整数整除,则提前结束循环,此时i必然小于或等于,否则,在完成最后一次循环后,i还要加1,因此i等于1,然后才终止循环。在循环结束后,判断i的值是否大于或等于+1,若是,则表示该数为素数。

l         应用Math对象的sqrt()方法求一个数的开方

  答案:

编写Ex09类,在该类的main方法中编写应用do while语句列举20以内整数中的全部素数的代码具体代码如下:

package com.wgh;

 

public class Ex09 {

      public static void main(String[] args) {

            int m = 1;

            System.out.println("20以内全部素数如下:");

            int k = 0;

            do {

                  k = (int) Math.sqrt(m); // 计算m的开方

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

                        if (m % i == 0) {

                              break;

                        } // 跳出循环

                        if (i >= k) {

                              System.out.print(m + "   "); // 输出素数

                        }

                  }

                  m++; // m1

            } while (m < 20);

      }

}