日期:2014-05-20  浏览次数:20800 次

为什么回文数会由sub1=str.substring(i,i+1);产生
public class app5_6
{
  public static void main(String[] args)
  {
  String str="rotor";
  int i=0,n;
  boolean yn=true;
  if(args.length>0)
  str=args[0];
  System.out.println("str="+str);
  n=str.length();
  char sChar,eChar;
  while (yn&&(i<n/2))
  {
  sChar=str.charAt(i);
  eChar=str.charAt(n-i-1);
  System.out.println("sChar="+sChar+" eChar="+eChar);
  if (sChar==eChar)
  i++;
  else
  yn=false;
   
  }
  System.out.println("算法1:"+yn);
  String temp="",sub1="";
  for (i=0;i<n;i++)
  {
  sub1=str.substring(i,i+1);

  temp=sub1+temp;

  }
  System.out.println("temp="+temp);
  System.out.println("算法2:"+str.equals(temp));
  }
}

------解决方案--------------------
sub1=str.substring(i-1,i);


------解决方案--------------------
就是截取每一位,然后再拼起来。。。。
LZ用DEBUG跟一下就明白了