java回文数stringbuilder
时间: 2023-09-04 22:15:44 浏览: 42
可以使用 StringBuilder 的 reverse() 方法来判断一个字符串是否为回文数。具体实现代码如下:
```java
public boolean isPalindrome(String str) {
StringBuilder sb = new StringBuilder(str);
return str.equals(sb.reverse().toString());
}
```
其中,`sb.reverse()` 方法会将 StringBuilder 对象中的字符序列反转,然后通过 `toString()` 方法转换为字符串进行比较。如果反转后的字符串与原字符串相等,则说明原字符串是回文数。
相关问题
回文数(洛谷1015)java
回文数是指正读和反读都相同的数,例如121、1221等。在给定一个N进制数M的情况下,你需要写一个程序来计算最少经过几步可以得到回文数。这个程序的实现方法是将M转换为十进制数,然后将M与它的反转数相加,再判断是否为回文数。如果在30步以内(包含30步)无法得到回文数,则输出"Impossible!"。下面是一个Java的实现示例:
```java
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String number = scanner.next();
for (int i = 1; i <= 30; i++) {
String reverse = new StringBuilder(number).reverse().toString();
BigInteger integer = new BigInteger(number, n).add(new BigInteger(reverse, n));
if (check(number = integer.toString(n))) {
System.out.println("STEP=" + i);
return;
}
}
System.out.println("Impossible!");
}
private static boolean check(String arg) {
char[] chars = arg.toCharArray();
int left = 0, right = chars.length - 1;
while (right - left >= 1)
if (chars[left++] != chars[right--])
return false;
return true;
}
}
```
java求判断五位回文数字
可以使用字符串的反转方法来判断一个五位数字是否为回文数字。具体实现如下:
```java
public static boolean isPalindrome(int num) {
String str = String.valueOf(num);
String reverseStr = new StringBuilder(str).reverse().toString();
return str.equals(reverseStr);
}
```