このコードでは何が問題なのですか? 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でデバッグする方法を調べ、コードを1行ずつトレースします。誰かにあなたに答えをダンプさせるのではなく、あなたがそれをすることが重要です。 – Kon
@ Konボスありがとうございました。私はそのアドバイスが必要でした! –