用Java编写一个小程序,要求从键盘输入一个整数,然后判断该数是否为素数,同时要能对键盘输入的数据进行合法性验证。
时间: 2024-09-15 20:14:12 浏览: 36
任意输入一个偶数n(n>4),请将它分解为两个素数之和。
当然可以。下面是一个简单的Java程序,用于实现这个功能:
```java
import java.util.Scanner;
public class PrimeNumberCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
// 数据合法性验证
if (!scanner.hasNextInt()) {
System.out.println("输入不是有效的整数,请重新输入!");
return;
}
int number = scanner.nextInt();
// 判断是否为素数
if (isPrime(number)) {
System.out.println(number + " 是一个素数。");
} else {
System.out.println(number + " 不是一个素数。");
}
scanner.close();
}
// 判断一个数是否为素数的辅助方法
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) { // 只需检查到其平方根即可
if (num % i == 0) {
return false;
}
}
return true;
}
}
```
在这个程序中,首先通过`Scanner`获取用户输入的整数,然后使用`isPrime`方法来判断它是否为素数。如果输入的不是一个整数,会提示用户重新输入。如果输入的数字小于等于1,则默认它不是素数。
阅读全文