有更简洁的方法吗?欢迎指点
public class SuShu {
/*
* 题意概要:打印1-100之间的所有素数及个数,每五个数换行
*
* 思路: for循环遍历1-100之间的整数 对每个数i去除以2-i/2之间的整数 若都不能整除则i为素数 否则i不是素数 总结:
* 主要就是循环的嵌套问题
*/
public static void main(String[] args) {
// 变量sum保存素数的个数
int sum = 0;
int flag;
// 外层循环,遍历1-100之间的整数
for (int i = 1; i <= 100; i++) {
flag = 1;
for (int j = 2; j <= i / 2; j++) { // 内层循环,遍历2-i/2之间的整数
if (i % j == 0) { // i对j取模
flag = 0; // 若能被整除则中断循环
break;
}
}
if (flag == 1) {
sum++;
System.out.print(i + ", ");
if (sum % 5 == 0) { // 每五个数换行
System.out.println();
}
}
}
}
} |