用java完成回文数的判断,从键盘输入一个1~99999之间的数,程序判断是几位数,并判断是否为回文数,最后输出结果。回文数是指将该数含有的数字逆序排列后得到的数和原数相同。
时间: 2023-09-11 12:05:32 浏览: 180
### 回答1:
以下是用Java完成回文数的判断的代码:
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个1~99999之间的数:");
int num = scanner.nextInt();
int temp = num;
int digit = 0;
while (temp > 0) {
temp /= 10;
digit++;
}
int[] digits = new int[digit];
for (int i = 0; i < digit; i++) {
digits[i] = num % 10;
num /= 10;
}
boolean isPalindrome = true;
for (int i = 0; i < digit / 2; i++) {
if (digits[i] != digits[digit - i - 1]) {
isPalindrome = false;
break;
}
}
if (isPalindrome) {
System.out.println("是回文数");
} else {
System.out.println("不是回文数");
}
}
}
如果输入的数是回文数,程序会输出"是回文数",否则会输出"不是回文数"。
### 回答2:
回文数判断可以通过将数字转换为字符串,并比较字符串和其反转字符串是否相同来实现。以下是用Java完成回文数判断的程序:
```java
import java.util.Scanner;
public class PalindromeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个1~99999之间的数:");
int number = scanner.nextInt();
// 判断是几位数
int digits = String.valueOf(number).length();
System.out.println("该数是" + digits + "位数");
// 判断是否为回文数
boolean isPalindrome = isPalindromeNumber(number);
if (isPalindrome)
System.out.println("该数是回文数");
else
System.out.println("该数不是回文数");
}
// 判断是否为回文数
public static boolean isPalindromeNumber(int number) {
String original = String.valueOf(number);
String reverse = new StringBuilder(original).reverse().toString();
return original.equals(reverse);
}
}
```
程序首先通过`Scanner`从键盘输入一个1~99999之间的数。然后,使用`String.valueOf()`方法将数字转换为字符串,进而使用`length()`方法获取数字的位数,并打印输出。接着,调用`isPalindromeNumber()`方法判断输入的数是否为回文数,并输出结果。
`isPalindromeNumber()`方法首先使用`String.valueOf()`方法将数字转换为字符串。然后,使用`StringBuilder`类的`reverse()`方法将字符串反转,并将反转后的字符串转换为原始字符串。最后,通过比较原始字符串和反转后的字符串是否相同来判断是否为回文数,如果相同则返回`true`,否则返回`false`。
阅读全文