public class Test02 {
/**
* 2.分析以下需求,并用代码实现: (1)打印1-100之间的所有素数及个数 (2)每行输出5个满足条件的数,之间用空格分隔
* (3)如果一个大于1的自然数,这个数只能被1和其本身整除,这个数就叫素数。 (4)如:2 3 5 7 11
*/
public static void main(String[] args) {
// 定义一个计数器
int count = 0;
// 友情提示
System.out.println("1到100之间的的素数有:");
// 因为结果是从2开始的,所以去掉1,从2开始遍历
for (int i = 2; i <= 100; i++) {
// 当下面的方法返回的是true时,就执行,当返回时false时,忽略它,因为我们只要满足素数条件的数
if (suShu(i)) {
// 打印素数,"\t"是tab键,为了打印格式整齐
System.out.print(i + "\t");
// 计数器统计满足素数的个数
count++;
// 让计数器计数,当每行输出五个的时候就换行
if (count % 5 == 0) {
System.out.println();
}
}
}
}
/*
* 判断是否是素数 1.明确返回值类型 boolean 2.明确参数类型 int x
*/
public static boolean suShu(int x) {
for (int i = 2; i < x; i++) {
// 如果一个大于2的数能被2整除,那就不是素数,返回false.
if (x % i == 0 ) {
return false;
}
}
// 否则返回true
return true;
}
}
//有注释,看着估计会明白点,最主要在求素数的方法中,那个for循环不要被绕进去就好了 |