编写程序,用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);
}
}