1. 程式人生 > >黑馬程式設計師-判斷字串是否為對稱字串

黑馬程式設計師-判斷字串是否為對稱字串

------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! ------- 學習Java到現在才經歷了一個多月的時間,但是每當遇到一道題目,併成功解決的時候,都是我最開心的時候,這就是成功的喜悅感吧。
 下面舉例黑馬的入學基礎測試的一些題目,和大家分享一下解題的思路。
 
 第1題:判斷一個字串是否是對稱字串,例如"abc"不是對稱字串,"aba"、"abba"、"aaa"、"mnanm"是對稱字串
 
當看到一道題目,應該立馬明白要考你的是哪個(或哪幾個)知識點,然後就要整理一下自己的解題思路,一個清晰的解題思路,可以避免走彎路,
 節省解題的時間和過程。


 思路:這道題,我初步判斷,可以將字串轉換為字元陣列,那麼就可以按照陣列角標判斷相對應位置的元素是否相等,全部相等即為對稱字元,
 其中有一位不相等,那就不是對稱字串。那麼就可以分步驟去實現:
  1.將字串轉換成char陣列,可以方便判斷  <---可以通過toCharArray()方法
  2.判斷是否對稱的方式,arr[0]==arr[arr.length-1]--->判斷第一位字元和最後一位字元是否相等
           3.然後設定迴圈 按照 arr[i]==arr[arr.length-i-1]判斷 相等返回true(對稱) 不相等返回false (不對稱) 
           4.打印出最終判斷結果即可
 

下面是詳細的程式碼:


public class Test_01 {
public static void main(String[] args) {
//首先定義一個字串
String str="aaaabcbaaaa";
//將字串轉換為char陣列
char[] ch=str.toCharArray();
//定義一個boolean變數
boolean flag=false;
//從char陣列的0角標開始進行迴圈判定,判斷相應字元是否相等,都相等str即為對稱字串
for (int i = 0; i < ch.length/2; i++) {
if (ch[i]==ch[ch.length-i-1]) {
flag=true;//相等返回true,並且繼續下一輪迴圈
}else {
flag=false;//否則返回false,並結束迴圈
break;
}
}
//列印最終判斷結果
System.out.println(flag);
}