Java判斷字符串回文的代碼實(shí)例
首先,回文是指類似于“12345”,“abcdcba”的形式,即正念和反念都是一樣的字符串
判斷字符串是否是回文,這邊介紹2種辦法
1、將字符串翻轉(zhuǎn),判斷翻轉(zhuǎn)后的字符串和原字符串是否相等
public static void main(String[] args) {
String s="abcdcba";
// 用StringBuilder的reverse方法將字符串反轉(zhuǎn)
StringBuilder sb=new StringBuilder(s);
String afterReverse=sb.reverse().toString();
//判斷反轉(zhuǎn)后的字符串與原字符串是否相等,可用compareTo,equals,
int isequal=afterReverse.compareTo(s); //若相等則輸出0
if (isequal==0){
System.out.println("是回文");
}else
System.out.println("不是回文");
}
注意:compareTo,equals判斷字符串均考慮大小寫,即大小寫視為不想等,若需要不考慮大小寫,則可以用equalsIgnoreCase
2、for循環(huán)依次判斷對(duì)應(yīng)字符是否相等
public static void main(String[] args) {
String s="12344321";
int l=s.length();
System.out.println(l/2);
int result=1;
//從中間開始往兩邊比較
for (int i=0;i<l/2;i++){
if (s.charAt(i)==s.charAt(l-i-1)){
result=0;
}else{
result=1;
break; //比較有一個(gè)不想等時(shí)需要跳出循環(huán),否則只要最后一個(gè)比較成立,就會(huì)返回result=0
}
}
if (result==0){
System.out.println("是回文");
}else {
System.out.println("不是回文");
}
}
方法知識(shí)點(diǎn)補(bǔ)充:
1,定義兩個(gè)字符串元素指針(注意java沒有指針的概念),int right=T.length()-1 ;int left=0;
2,即left從左邊開始,right從右邊開始,依次比較所指的字符是否相等,若相等,則將left++,right--;否則,直接返回不是回文
while(left<right){
if(T.charAt(left)!=T.charAt(right))
return false;
left++;
right--;
}
return true;
代碼:
/*
* 3:
* 回文判斷
* 問題描述:回文,英文palindrome,指一個(gè)順著讀和反過來讀都一樣的字符串,比如madam、我愛我,
* 方法一:
* 分析:使用兩個(gè)"指針"分別從字符串頭和尾掃描,若每一個(gè)"指針"所指值都相等,這為回文
*/
public boolean isPalindrome(String s){
if(s==null)
return false;
int left=0;
int right=s.length()-1;
while(left<right){
if(s.charAt(left)!=s.charAt(right))
return false;
left++;
right--;
}
return true;
}
以上就是Java判斷字符串回文的代碼實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Java判斷字符串是否是回文請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- java 實(shí)現(xiàn)判斷回文數(shù)字的實(shí)例代碼
- Java版本的回文字算法(java版本)
- Java實(shí)現(xiàn)查找當(dāng)前字符串最大回文串代碼分享
- java計(jì)算任意位水仙花數(shù)示例(回文數(shù))
- java判斷回文數(shù)示例分享
- Java實(shí)現(xiàn)帶頭結(jié)點(diǎn)的單鏈表
- java實(shí)現(xiàn)單鏈表增刪改查的實(shí)例代碼詳解
- Java數(shù)據(jù)結(jié)構(gòu)之簡(jiǎn)單鏈表的定義與實(shí)現(xiàn)方法示例
- Java實(shí)現(xiàn)單鏈表翻轉(zhuǎn)實(shí)例代碼
- java 實(shí)現(xiàn)單鏈表逆轉(zhuǎn)詳解及實(shí)例代碼
- Java實(shí)現(xiàn)單鏈表的各種操作
- 用JAVA實(shí)現(xiàn)單鏈表,檢測(cè)字符串是否是回文串
相關(guān)文章
JDK版本管理工具jEnv解決不同jdk版本項(xiàng)目
本文主要介紹了JDK版本管理工具jEnv解決不同jdk版本項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
mybatis plus開發(fā)過程中遇到的問題記錄及解決
這篇文章主要介紹了mybatis plus開發(fā)過程中遇到的問題記錄及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
SpringCloud?Gateway詳細(xì)分析實(shí)現(xiàn)負(fù)載均衡與熔斷和限流
這篇文章主要介紹了SpringCloud?Gateway實(shí)現(xiàn)路由轉(zhuǎn)發(fā),負(fù)載均衡,熔斷和限流,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Spring?Boot接口支持高并發(fā)具體實(shí)現(xiàn)代碼
這篇文章主要給大家介紹了關(guān)于Spring?Boot接口支持高并發(fā)具體實(shí)現(xiàn)的相關(guān)資料,在SpringBoot項(xiàng)目中通常我們沒有處理并發(fā)問題,但是使用項(xiàng)目本身還是支持一定的并發(fā)量,需要的朋友可以參考下2023-08-08

