无法找出Java程序检查字符串是否为回文的解决方案
我编写了java代码来确定字符串是否是回文。 但是,我没有得到要求的结果。请建议对代码进行必要的更改无法找出Java程序检查字符串是否为回文的解决方案,java,Java,我编写了java代码来确定字符串是否是回文。 但是,我没有得到要求的结果。请建议对代码进行必要的更改 public class Test1 { public static void main(String[] args) { String original="madam"; String rev=""; int len=original.length(); Syste
public class Test1
{
public static void main(String[] args)
{
String original="madam";
String rev="";
int len=original.length();
System.out.println(len);
boolean flag=false;
for(int i=len-1,j=1;i>0;i--,j++)
{
if(original.charAt(i)==original.charAt(j))
{
flag=true;
continue;
}
else
{
flag=false;
break;
}
}
if(flag)
System.out.println("palindrome");
else
System.out.println("not a polindrom");
}
}
试试这个:
public class Test1
{
public static void main(String[] args)
{
String original="madam";
int len=original.length();
System.out.println(len);
boolean flag=true;
for(int i=len-1,j=0;i != j;i--,j++)
{
if(original.charAt(i) != original.charAt(j))
{
flag=false;
break;
}
}
if(flag)
System.out.println("palindrome");
else
System.out.println("not a polindrom");
}
}
试试这个:
public class Test1
{
public static void main(String[] args)
{
String original="madam";
int len=original.length();
System.out.println(len);
boolean flag=true;
for(int i=len-1,j=0;i != j;i--,j++)
{
if(original.charAt(i) != original.charAt(j))
{
flag=false;
break;
}
}
if(flag)
System.out.println("palindrome");
else
System.out.println("not a polindrom");
}
}
这对你有用 它使用类的
reverse()
方法
这对你有用 它使用类的
reverse()
方法
字符串在Java中是零索引的。这意味着
j
变量从字符串中的第二个字符开始
尝试将循环标题的更改为:
for(int i=len-1,j=0;i>j;i--,j++)
字符串在Java中是零索引的。这意味着j
变量从字符串中的第二个字符开始
尝试将
循环标题的更改为:
for(int i=len-1,j=0;i>j;i--,j++)
一旦该标志设置为false,则应保持该状态。您的代码将再次将其设置为true。j
在您的循环中必须为0(而不是1)。此外,代码可以进行更多重构,请检查我的答案。一旦该标志设置为false,您应该保持该状态。您的代码将再次将其设置为true。j
在您的循环中必须为0(而不是1)。此外,代码可能会进行更多重构,请检查我的答案。@DonRoby哪一个?你为什么不把你的建议放在这里呢?@DonRoby哪一个?你为什么不把你的建议写在这里呢。