您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Java如何判斷字符串是否是回文字符串”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Java如何判斷字符串是否是回文字符串”吧!
解決上述問題,有兩種方法可供參考:
(1)從字符串兩頭往中間掃;
(2)從字符串中間往兩頭掃。
具體代碼如下:
import java.util.Scanner; public class StringPalindrome { //方法1:兩頭往中間掃 public boolean IsPalindrome1(String A){ char[] arrayA = A.toCharArray(); int top = 0; int end = arrayA.length-1; if(A.equals("") || A.equals(null)) //非法輸入 return false; while(top < end){ if(arrayA[top++] != arrayA[end--]) return false; } return true; } //方法2:中間往兩頭掃 public boolean IsPalindrome2(String A){ char[] arrayA = A.toCharArray(); int lenA = arrayA.length; int mid = lenA/2; int front; //前半部分 int back; //后半部分 if(lenA % 2 == 0){ //當(dāng)字符串長度為偶數(shù)時 front = mid-1; back = mid; } else{ front = mid -1; back = mid + 1; } if(A.equals("") || A.equals(null)) return false; while(front >= 0 && back < lenA){ if(arrayA[front--] != arrayA[back++]) return false; } return true; } public static void main(String[] args){ StringPalindrome test = new StringPalindrome(); Scanner in = new Scanner(System.in); System.out.println("請輸入一個字符串:"); String A = in.nextLine(); if(test.IsPalindrome1(A)) System.out.println("使用方法1判斷結(jié)果為,輸入字符串是回文字符串"); else System.out.println("使用方法1判斷結(jié)果為,輸入字符串不是回文字符串"); if(test.IsPalindrome2(A)) System.out.println("使用方法2判斷結(jié)果為,輸入字符串是回文字符串"); else System.out.println("使用方法2判斷結(jié)果為,輸入字符串不是回文字符串"); } }
結(jié)果:
請輸入一個字符串: 我愛我 使用方法1判斷結(jié)果為,輸入字符串是回文字符串 使用方法2判斷結(jié)果為,輸入字符串是回文字符串 請輸入一個字符串: 我愛你 使用方法1判斷結(jié)果為,輸入字符串不是回文字符串 使用方法2判斷結(jié)果為,輸入字符串不是回文字符串 請輸入一個字符串: abba 使用方法1判斷結(jié)果為,輸入字符串是回文字符串 使用方法2判斷結(jié)果為,輸入字符串是回文字符串
到此,相信大家對“Java如何判斷字符串是否是回文字符串”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。