如果加上,就要考虑trim方法操作的是不是属性s1,如果是,trim方法则应该修改,修改成改变s1值的方式,目前你的代码都是改变的参数s1,跟属性没有任何关系。
如果不加,则trim最好设置成static的,因为trim方法的执行过程跟类的对象没有关系,也不涉及操作对象属性的过程。作为工具来使用则较好。
综上,类可以有如下两种基本的改法:
//修改属性s1的方式
class TrimDemo
{
private String s1;
public String trim()
{
int pos=0;
int x=this.s1.length()-1;
while (this.s1.charAt(pos)==' ')
pos++;
while(this.s1.charAt(x)==' ')
x--;
this.s1 = this.s1.substring(pos,x+1);
return this.s1;
}
}
//作为工具类的实现
class TrimDemo
{
public static String trim(String s1)
{
int pos=0;
int x=s1.length()-1;
while (s1.charAt(pos)==' ')
pos++;
while(s1.charAt(x)==' ')
x--;
return s1.substring(pos,x+1);
}
}
作者: 陈虹旭 时间: 2012-10-16 14:24
class TrimDemo
{
//private String s1;这句不加上当然可以成功的,因为你的TrimDemo类中定义的是一个方法,这个方法要求传入一个String类型的参数,在调用时候只要保证传入的参数是String类型的就可以了,而定义String类型的数据操作就没有必要一定要在本类中完成了。说白了就是你的方法并没有用到你的这个s1常量
public String trim(String s1)
{
int pos=0;
int x=s1.length()-1;
while (s1.charAt(pos)==' ')
pos++;
while(s1.charAt(x)==' ')
x--;
return s1.substring(pos,x+1);
}
}