JAVA使用while循环,打印出从一开始的前五十的素数,并要求每行最多输出五个
时间: 2024-10-07 10:04:01 浏览: 97
在Java中,我们可以使用`while`循环和条件判断来找出并打印出前50个素数。素数是指大于1的自然数,除了1和它本身以外不再有其他因数。以下是一个简单的程序来实现这个需求:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int count = 0, number = 2; // 计数器和当前检查的数字
while (count < 50) { // 循环直到找到50个素数
boolean isPrime = true;
for (int i = 2; i <= Math.sqrt(number); i++) { // 检查从2到该数字平方根之间的整数是否为因子
if (number % i == 0) { // 如果找到因子,则不是素数
isPrime = false;
break;
}
}
if (isPrime && count < 50) { // 如果是素数并且计数未满50
System.out.print(number + " "); // 打印素数
count++; // 增加计数
if ((count - 1) % 5 == 0) { // 当达到每行5个时换行
System.out.println();
}
} else {
break; // 结束循环,因为已经找到了50个素数或遇到非素数
}
number++; // 移动到下一个数字进行检查
}
}
}
```
这段代码首先初始化计数器和检查的数字,然后在一个`while`循环里,对每个数字进行素性测试。如果它是素数并且计数未满50,就打印出来并在达到每行5个数字后换行。一旦达到50个素数或发现一个非素数,循环就会结束。
阅读全文