Java使用while输出2-100的所有素数
时间: 2023-05-26 20:03:30 浏览: 110
```
public class PrimeNumber {
public static void main(String[] args) {
int i = 2;
while (i <= 100) {
if (isPrime(i)) {
System.out.print(i + " ");
}
i++;
}
}
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
```
输出结果:
```
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```
相关问题
java使用while循环输出2-100之间的素数
素数是只能被1和自身整除的数,因此要判断一个数是否为素数,我们需要遍历2到该数的平方根。代码如下:
public class PrimeNumbers {
public static void main(String[] args) {
int num = 2; //从2开始判断
while(num <= 100) { //循环判断2-100之间的数是否为素数
boolean isPrime = true; //标记是否为素数
int divisor = 2; //从2开始除,判断是否整除
while(divisor <= Math.sqrt(num)) { //遍历2到该数的平方根
if(num % divisor == 0) { //如果能整除,说明不是素数
isPrime = false;
break;
}
divisor++; //继续除
}
if(isPrime) { //如果是素数,则输出
System.out.println(num);
}
num++; //遍历下一个数
}
}
}
上述代码使用了两个嵌套的while循环,外层循环遍历2到100之间的数,内层循环遍历2到该数的平方根,判断是否能整除。如果不能整除,说明该数是素数,则输出。
java使用while输出2到100所有的素数
好的,我可以帮你解答这个问题。下面是Java代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int i = 2;
while (i <= 100) {
if (isPrime(i)) {
System.out.print(i + " ");
}
i++;
}
}
public static boolean isPrime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
```
这个程序首先定义了一个名为 `PrimeNumbers` 的类,其中包含两个方法:`main` 和 `isPrime`。`main` 方法使用 `while` 循环从 2 到 100 遍历每个整数,对于每个整数,它调用 `isPrime` 方法来检查它是否是素数。如果是素数,则打印该数。
`isPrime` 方法接受一个整数作为参数,并返回一个布尔值,指示该数是否是素数。它首先检查该数是否小于 2,如果是,则返回 `false`。否则,它使用一个 `for` 循环从 2 到该数的平方根遍历每个整数,检查该数是否可以被整除。如果可以被整除,则该数不是素数,返回 `false`。否则,该数是素数,返回 `true`。
希望这个程序能够帮助到你。