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

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

#### 运行结果：

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

图 1 运行结果

#### 解题关键：

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

l 让 m 被 2 到除，如果 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++; // m 加 1

} while (m < 20);

}

}