我试图反转 java 数组中的所有字符串,但似乎用第一个字符串覆盖了所有字符串。
private static void palindrome(String[] s) {
int flag=0;
String reverse;
for(int i=0;i<n;i++) // n is declared globally as number of strings
{
reverse="";
for (int j=s[i].length()-1;i>=0;i--)
reverse=reverse+s[i].charAt(j);
if(s[i].equals(reverse))
{
System.out.println(s[i]);
flag=1;
}
}
if(flag==0)
System.out.println("There are no palindromic strings");
}
这行看起来是错误的:
for (int j = s[i].length()-1; i >= 0; i--)
它应该是:
for (int j = s[i].length()-1; j >= 0; j--)
换句话说:内循环中的索引是错误的,它们应该使用j
代替i
。作为旁注 - 这是一种反转字符串的更简单的方法:
reverse = new StringBuilder(s[i]).reverse().toString();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)