新聞中心
在Java中,判斷一個字符串是否對稱,可以通過比較字符串與其反轉(zhuǎn)后的字符串是否相等來實現(xiàn),下面將詳細(xì)介紹如何實現(xiàn)這個功能。

1、使用StringBuilder的reverse()方法
我們可以使用StringBuilder類的reverse()方法來反轉(zhuǎn)字符串,將反轉(zhuǎn)后的字符串與原字符串進行比較,如果相等,則說明字符串是對稱的。
示例代碼:
public class StringSymmetry {
public static void main(String[] args) {
String str = "abcdcba";
System.out.println("字符串"" + str + ""是否對稱:" + isSymmetric(str));
}
public static boolean isSymmetric(String str) {
StringBuilder sb = new StringBuilder(str);
return str.equals(sb.reverse().toString());
}
}
2、使用雙指針法
另一種方法是使用雙指針法,從字符串的兩端開始,逐個比較對應(yīng)位置的字符是否相等,如果所有對應(yīng)位置的字符都相等,則說明字符串是對稱的。
示例代碼:
public class StringSymmetry {
public static void main(String[] args) {
String str = "abcdcba";
System.out.println("字符串"" + str + ""是否對稱:" + isSymmetric(str));
}
public static boolean isSymmetric(String str) {
int left = 0;
int right = str.length() 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
}
3、使用數(shù)組和循環(huán)遍歷
還可以將字符串轉(zhuǎn)換為字符數(shù)組,然后使用循環(huán)遍歷數(shù)組,比較對應(yīng)位置的字符是否相等,如果所有對應(yīng)位置的字符都相等,則說明字符串是對稱的。
示例代碼:
public class StringSymmetry {
public static void main(String[] args) {
String str = "abcdcba";
System.out.println("字符串"" + str + ""是否對稱:" + isSymmetric(str));
}
public static boolean isSymmetric(String str) {
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length / 2; i++) {
if (chars[i] != chars[chars.length 1 i]) {
return false;
}
}
return true;
}
}
4、使用Java 8的Stream API和Lambda表達式
我們還可以使用Java 8的Stream API和Lambda表達式來實現(xiàn)這個功能,將字符串轉(zhuǎn)換為字符數(shù)組,然后使用Stream API對數(shù)組進行遍歷,比較對應(yīng)位置的字符是否相等,如果所有對應(yīng)位置的字符都相等,則說明字符串是對稱的。
示例代碼:
import java.util.stream.IntStream; import java.util.stream.Collectors; import java.util.List; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.stream.IntStream; import java.util.stream.Collectors; import java.util.stream.StreamSupport; import java.util.stream.Stream; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Collectors; import java.util.stream.StreamSupport; import java.util.stream.Stream; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Collectors; import java.util.stream.StreamSupport; import java.util.stream.Stream; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Collectors; import java.util.stream.StreamSupport; import java.util.stream.Stream; import java
當(dāng)前名稱:java如何判斷字符串是否對稱
轉(zhuǎn)載源于:http://m.fisionsoft.com.cn/article/cdoijjp.html


咨詢
建站咨詢
