用Java写一条10000以内的回文数之和
时间: 2024-05-25 21:17:54 浏览: 52
public class PalindromeSum {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i < 10000; i++) {
if (isPalindrome(i)) {
sum += i;
}
}
System.out.println("10000以内的回文数之和为:" + sum);
}
public static boolean isPalindrome(int num) {
String str = String.valueOf(num);
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
}
相关问题
用java写一个从控制台回文数返回true
在Java中,判断一个整数是否为回文数可以通过比较它和它的反转值是否相等来实现。下面是一个简单的示例程序:
```java
import java.util.Scanner;
public class PalindromeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scanner.nextInt();
// 判断输入的数字是否为回文数
if (isPalindrome(num)) {
System.out.println(num + " 是回文数");
} else {
System.out.println(num + " 不是回文数");
}
}
// 回文数检查函数
public static boolean isPalindrome(int number) {
String strNum = String.valueOf(number); // 将整数转换为字符串便于处理
int start = 0;
int end = strNum.length() - 1;
while (start < end) { // 当前部分的起始和结束位置未相遇
if (strNum.charAt(start) != strNum.charAt(end)) {
return false; // 如果当前字符不匹配,则不是回文数
}
start++; // 向右移动开始位置
end--; // 向左移动结束位置
}
return true; // 如果所有字符都匹配,则是回文数
}
}
```
在这个程序中,用户通过`Scanner`输入一个整数,然后`isPalindrome`函数会检查该数字是否为回文。如果回文则返回`true`,否则返回`false`。
用JAVA写一个输出回文数的程序
好的,以下是用JAVA编写的输出回文数的程序:
```java
import java.util.Scanner;
public class PalindromeNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int num = sc.nextInt();
if (isPalindrome(num)) {
System.out.println(num + "是回文数。");
} else {
System.out.println(num + "不是回文数。");
}
}
public static boolean isPalindrome(int num) {
int temp = num;
int reverse = 0;
while (temp != 0) {
int digit = temp % 10;
reverse = reverse * 10 + digit;
temp /= 10;
}
return reverse == num;
}
}
```
程序运行时,会要求用户输入一个正整数,然后判断该数是否为回文数。程序的实现原理是,将输入的数反转,然后判断反转后的数是否与原数相等,如果相等,则说明该数是回文数。