這段代碼有什麼問題。 Doessnt work..returns整個字符串逆轉...... 我試圖檢查是迴文程序檢查最長的迴文不工作
我使用蠻力方法來檢查每個子爲迴文最長的串。 爲什麼會這樣不行
public class LongestPalindrome {
static String s = "yogaranjnarsap";
static String test = "";
static String result ="";
static int resultLen = 0;
static String temp = "";
static void checkPalindrome(String str)
{
StringBuilder sb = new StringBuilder(str);
StringBuilder sb1 = new StringBuilder();
sb1 = sb.reverse();
if(sb1.toString().equals(sb.toString()))
{
//System.out.println(sb1.equals(sb));
if(sb.length() > result.length())
{
result = sb.toString();
resultLen = sb.length();
}
}
}
public static void main(String[] args) {
for(int i=0;i<s.length();i++)
{
temp = "" + s.charAt(i);
for(int j=i+1;j<s.length();j++)
{
temp = temp + s.charAt(j);
checkPalindrome(temp);
//temp = temp + s.charAt(i);
}
temp ="";
}
if(result.length() > 1)
{
System.out.println(result);
System.out.println("length" + resultLen);
}
else
System.out.println("no palindrome found");
}
}
這是學習如何使用調試器的絕佳機會。查找如何使用您正在使用的IDE進行調試,並逐行掃描代碼。這樣做對你來說是至關重要的,而不是讓某人把答案轉儲給你。 – Kon
@Kon謝謝老大..我需要這個建議! –