用java编写一个类,类中包含下列类方法:1)判断一个整数是否是素数的方法;2)判断一个整数是否是回文的方法;3)求一个正整数的阶乘的方法(此方法使用递归求阶乘);4)求一个正整数的逆序数的方法。然后再编写一个测试类,调用这些方法进行验证。
时间: 2024-03-01 16:56:15 浏览: 17
好的,以下是Java代码实现:
```
public class MathUtil {
// 判断一个整数是否是素数的方法
public static boolean isPrime(int n) {
if (n <= 3) {
return n > 1;
}
if (n % 2 == 0 || n % 3 == 0) {
return false;
}
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
// 判断一个整数是否是回文的方法
public static boolean isPalindrome(int n) {
int reverse = 0;
int original = n;
while (n != 0) {
reverse = reverse * 10 + n % 10;
n /= 10;
}
return reverse == original;
}
// 求一个正整数的阶乘的方法(此方法使用递归求阶乘)
public static int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
// 求一个正整数的逆序数的方法
public static int reverse(int n) {
int reverse = 0;
while (n != 0) {
reverse = reverse * 10 + n % 10;
n /= 10;
}
return reverse;
}
}
```
以下是测试类的代码:
```
public class MathUtilTest {
public static void main(String[] args) {
// 测试判断素数方法
int primeNumber = 13;
if (MathUtil.isPrime(primeNumber)) {
System.out.println(primeNumber + " is prime number.");
} else {
System.out.println(primeNumber + " is not prime number.");
}
// 测试判断回文数方法
int palindromeNumber = 12321;
if (MathUtil.isPalindrome(palindromeNumber)) {
System.out.println(palindromeNumber + " is palindrome number.");
} else {
System.out.println(palindromeNumber + " is not palindrome number.");
}
// 测试递归求阶乘方法
int factorialNumber = 5;
System.out.println(factorialNumber + "! = " + MathUtil.factorial(factorialNumber));
// 测试求逆序数方法
int reverseNumber = 12345;
System.out.println("Reverse of " + reverseNumber + " is " + MathUtil.reverse(reverseNumber));
}
}
```
输出结果应该是:
```
13 is prime number.
12321 is palindrome number.
5! = 120
Reverse of 12345 is 54321
```