编写程序判断一个数是否为素数,可以使用以下Java代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
if (n == 1) {
System.out.println("0");
} else {
boolean isPrime = true;
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
isPrime = false;
break;
}
}
System.out.println(isPrime ? "1" : "0");
}
in.close();
}
}
```
代码解释:
导入Scanner类 :用于从控制台读取用户输入。读取用户输入:
`int n = in.nextInt();` 读取用户输入的整数。
特殊情况处理:
如果输入的数是1,直接输出0,因为1不是素数。
判断素数
初始化一个布尔变量 `isPrime` 为 `true`。
使用一个 `for` 循环从2遍历到 `n / 2`,检查 `n` 是否能被这些数整除。
如果 `n` 能被任何数整除,将 `isPrime` 设置为 `false` 并跳出循环。
输出结果:
根据 `isPrime` 的值输出1(表示素数)或0(表示不是素数)。
建议:
对于大数的素数判断,可以考虑使用更高效的算法,如Miller-Rabin素性测试。
在实际应用中,建议对用户输入进行有效性检查,确保输入的是正整数。