[英]Not able to figure out the solution for Java program to check whether string is palindrome
我编写了Java代码来查找字符串是否是回文。 但是,我没有得到所需的结果。 请提出必要的代码更改。
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");
}
}
这将为您工作。
它使用类java.lang.StringBuilder
的reverse()
方法
public class Test1 {
public static void main(String[] args) {
String original = "madam";
StringBuilder sb = new StringBuilder(original);
String reverse = sb.reverse().toString();
if (original.equals(reverse)) {
System.out.println("PALINDROME");
} else {
System.out.println("NOT A PALINDROME");
}
}
}
字符串在Java中为零索引。 这意味着您的j
变量从字符串的第二个字符开始。
尝试将for
循环标头更改为此:
for(int i=len-1,j=0;i>j;i--,j++)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.