黑马程序员技术交流社区
标题:
希望版主和大神帮帮我,我晕了!!!!!
[打印本页]
作者:
jiangwenjun
时间:
2015-2-1 01:42
标题:
希望版主和大神帮帮我,我晕了!!!!!
复制代码
这里输出结果为判断s1是否为对称字符串:manttnam:true
判断s2是否为对称字符串:lkjvasdf:false
判断s3是否为对称字符串:zxcscxz:false
判断s4是否为对称字符串:asdssda:false
4
3
上面是原本的代码。我根据推理,S3是7位,我也特意打印了长度除2等于3呀。证明我就算字符串是单数,也不会错吧。是true吧!
于是我修改了S3的字符串写成了S1一样的字符串。怎么结果还是一样的!明明S1是true呀 我晕了
package com.itheima;
class Symmetric
{
private int i = 0;
public boolean symmeteicTest(String s)
{
int count = (s.length())/2;
for(;i<=count;i++)
{
if(s.charAt(i)==s.charAt(s.length()-i-1))
return true;
}
//}else{
return false;
//}
}
}
public class Test2
{
public static void main(String[] args) {
String s1="manttnam";
String s2="lkjvasdf";
String s3="manttnam";
String s4="manttnam";
Symmetric s =new Symmetric();
System.out.println("判断s1是否为对称字符串:"+s1+":"+s.symmeteicTest(s1));
System.out.println("判断s2是否为对称字符串:"+s2+":"+s.symmeteicTest(s2));
System.out.println("判断s3是否为对称字符串:"+s3+":"+s.symmeteicTest(s3));
System.out.println("判断s4是否为对称字符串:"+s4+":"+s.symmeteicTest(s4));
System.out.println(s1.length()/2);
System.out.println(s3.length()/2);
}
}
复制代码
这里输出结果为判断s1是否为对称字符串:manttnam:true
判断s2是否为对称字符串:lkjvasdf:false
判断s3是否为对称字符串:zxcscxz:false
判断s4是否为对称字符串:asdssda:false
4
3
作者:
D.reamJA
时间:
2015-2-1 03:25
哥们,代码第29行你只是创建了一个对象,所以在判断完第一个字符串之后,i的值不会从0开始记。所以我有两个办法修改你的代码。①在for语句初始化i=0 ②每判断一次就new一个新的对象,然后调用。
作者:
jiangwenjun
时间:
2015-2-1 03:47
D.reamJA 发表于 2015-2-1 03:25
哥们,代码第29行你只是创建了一个对象,所以在判断完第一个字符串之后,i的值不会从0开始记。所以我有两个 ...
我知道是什么问题了!我的方法只对一个对象使用!!!!谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2