判断一个字符串是否对称java
时间: 2023-11-21 21:52:45 浏览: 56
判断一个字符串是否对称是指判断一个字符串从左到右读和从右到左读是否完全一致。以下是两种实现方法:
1.使用循环遍历字符串的前一半,同时比较前一半和后一半对应位置的字符是否相同。如果有不同的字符,则该字符串不是对称字符串。
2.使用StringBuilder类中的reverse()方法将字符串倒序,然后与原字符串进行比较。如果两个字符串相同,则该字符串是对称字符串。
下面是第一种方法的Java代码实现:
```
public static boolean isSymmetric(String str) {
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str.charAt(i) != str.charAt(len - i - 1)) {
return false;
}
}
return true;
}
```
下面是第二种方法的Java代码实现:
```
public static boolean isSymmetric(String str) {
StringBuilder sb = new StringBuilder(str);
return str.equals(sb.reverse().toString());
}
```
相关问题
Java判断一个字符串是否是对称字符串
可以使用双指针法来判断一个字符串是否是对称字符串。具体实现可以先将字符串转换为字符数组,然后定义两个指针,一个指向字符串的开头,另一个指向字符串的结尾,每次比较两个指针所指向的字符是否相同,如果相同,则继续向中间移动指针,直到两个指针相遇或者发现不相同的字符。如果两个指针相遇,则说明该字符串是对称字符串,否则不是对称字符串。以下是Java代码实现:
```
public static boolean isSymmetric(String str) {
if (str == null || str.length() == 0) {
return true;
}
char[] chars = str.toCharArray();
int left = 0, right = chars.length - 1;
while (left < right) {
if (chars[left] != chars[right]) {
return false;
}
left++;
right--;
}
return true;
}
```
调用该方法,可以判断一个字符串是否是对称字符串:
```
String str = "abcba";
boolean isSymmetric = isSymmetric(str);
System.out.println(isSymmetric); // true
```
java用String来判断一个字符串是不是对称字符串
在Java中,可以使用String类型来表示字符串。判断一个字符串是否是对称字符串,可以先将该字符串翻转,然后与原字符串进行比较,如果相同,则为对称字符串,否则不是。
以下是一个示例代码:
```java
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.nextLine();
scanner.close();
String reverseStr = new StringBuilder(str).reverse().toString();
if (str.equals(reverseStr)) {
System.out.println(str + " 是对称字符串");
} else {
System.out.println(str + " 不是对称字符串");
}
}
}
```
注意:在Java中,字符串是不可变的,因此不能直接修改字符串,需要使用StringBuilder或StringBuffer等可变字符串类来进行字符串的翻转等操作。