java求数字的位数并输出是不是回文数
时间: 2024-02-17 22:09:12 浏览: 73
以下是一个Java程序,用于计算一个数字的位数并检查它是否是回文数:
```java
import java.util.Scanner;
public class PalindromeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字:");
int number = scanner.nextInt();
int digits = countDigits(number);
System.out.println(number + " 有 " + digits + " 位数字");
if (isPalindrome(number)) {
System.out.println(number + " 是回文数");
} else {
System.out.println(number + " 不是回文数");
}
scanner.close();
}
// 计算一个数字的位数
public static int countDigits(int number) {
return Integer.toString(number).length();
}
// 检查一个数字是否是回文数
public static boolean isPalindrome(int number) {
String str = Integer.toString(number);
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
}
```
在这个程序中,我们使用了两个方法:`countDigits`和`isPalindrome`。
`countDigits`方法接受一个数字作为参数,返回一个整数,表示该数字的位数。它使用`Integer.toString`方法将该数字转换为字符串,然后返回字符串的长度。
`isPalindrome`方法接受一个数字作为参数,返回一个布尔值,指示该数字是否是回文数。它首先将该数字转换为字符串,然后使用两个指针(`left`和`right`)从两端向中间迭代字符串。如果任何时候左指针所指的字符和右指针所指的字符不相等,则该数字不是回文数。
在`main`方法中,我们首先使用`Scanner`对象获取用户输入的数字,然后调用`countDigits`方法计算数字的位数,并输出结果。接下来,我们使用`isPalindrome`方法检查数字是否是回文数,并输出结果。
阅读全文