A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


复制代码
这里输出结果为判断s1是否为对称字符串:manttnam:true
判断s2是否为对称字符串:lkjvasdf:false
判断s3是否为对称字符串:zxcscxz:false
判断s4是否为对称字符串:asdssda:false
4
3


上面是原本的代码。我根据推理,S3是7位,我也特意打印了长度除2等于3呀。证明我就算字符串是单数,也不会错吧。是true吧!
于是我修改了S3的字符串写成了S1一样的字符串。怎么结果还是一样的!明明S1是true呀   我晕了
  1. package com.itheima;
  2. class Symmetric
  3. {
  4.         private int i = 0;
  5.         public boolean symmeteicTest(String s)
  6.         {
  7.                 int count = (s.length())/2;
  8.                         for(;i<=count;i++)
  9.                         {
  10.                                         if(s.charAt(i)==s.charAt(s.length()-i-1))
  11.                                                 return true;
  12.                         }
  13.                 //}else{
  14.                         return false;
  15.                        
  16.                 //}
  17.         }
  18. }


  19. public class Test2
  20. {

  21.         public static void main(String[] args) {
  22.                 String s1="manttnam";
  23.                 String s2="lkjvasdf";
  24.                 String s3="manttnam";
  25.                 String s4="manttnam";
  26.                 Symmetric s =new Symmetric();
  27.                 System.out.println("判断s1是否为对称字符串:"+s1+":"+s.symmeteicTest(s1));
  28.                 System.out.println("判断s2是否为对称字符串:"+s2+":"+s.symmeteicTest(s2));
  29.                 System.out.println("判断s3是否为对称字符串:"+s3+":"+s.symmeteicTest(s3));
  30.                 System.out.println("判断s4是否为对称字符串:"+s4+":"+s.symmeteicTest(s4));
  31.                 System.out.println(s1.length()/2);
  32.                 System.out.println(s3.length()/2);

  33.         }

  34. }
复制代码
这里输出结果为判断s1是否为对称字符串:manttnam:true
判断s2是否为对称字符串:lkjvasdf:false
判断s3是否为对称字符串:zxcscxz:false
判断s4是否为对称字符串:asdssda:false
4
3



2 个回复

倒序浏览
哥们,代码第29行你只是创建了一个对象,所以在判断完第一个字符串之后,i的值不会从0开始记。所以我有两个办法修改你的代码。①在for语句初始化i=0 ②每判断一次就new一个新的对象,然后调用。
回复 使用道具 举报
D.reamJA 发表于 2015-2-1 03:25
哥们,代码第29行你只是创建了一个对象,所以在判断完第一个字符串之后,i的值不会从0开始记。所以我有两个 ...

我知道是什么问题了!我的方法只对一个对象使用!!!!谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马