黑马程序员技术交流社区
标题:
copyValueOf的问题
[打印本页]
作者:
张雪磊
时间:
2012-7-17 22:08
标题:
copyValueOf的问题
class StringTest
{
public static void sop(String s)
{
System.out.println(s);
}
public static String myTrim(String str)
{
int start=0,end=str.length()-1;
while(start<=end && str.charAt(start)==' ')
start++;
while(start<=end&&str.charAt(end)==' ')
end--;
return str.substring(start,end+1);
}
public static void main(String[] args)
{
String s=" ab cd ";
sop("("+s+")");
//s=myTrim(s);
//sop("("+s+")");
sop("("+reverseS(s)+")");
}
public static String reverseS(String s)
{
char[] arr=s.toCharArray();
reverse(arr);
return copyValueOf(arr);//提示
}
private static void reverse(char[] arr)
{
for (int start=0,end=arr.length-1;start<end ;start++,end-- )
{
swap(arr,start,end);
}
}
private static void swap(char[] arr,int x,int y)
{
char temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
复制代码
提示出错的地方具体提示如下,请问除了什么错?
StringTest.java:32: 错误: 找不到符号
return copyValueOf(arr);
^
符号: 方法 copyValueOf(char[])
位置: 类 StringTest
1 个错误
作者:
周坤
时间:
2012-7-17 22:35
copyValueOf()是String类中的一个静态方法,调用的时候加上String就好了。静态方法调用属于类,非静态方法调用属于对象,不能拿过来直接用。
char[] arr=s.toCharArray();
31. reverse(arr);
32. return copyValueOf(arr);//提示
改成String.copyValueOf(arr);
作者:
乞文超
时间:
2012-7-18 01:20
你可以在这段代码前加上import static java.lang.String.*;
导入String类中的所有静态方法
作者:
张世威
时间:
2012-7-18 01:58
找问题的逻辑:
1、你不带对象的直接使用 copyValueOf(arr),像这样的只能引用本类所拥有的,所有可以省略对象。
2、而本类却没有 copyValueOf(arr);这个方法,你引用的不是空气了?
3、你是不是看String的源码了?String源码好像不带对象的用
4、改正:①你在前面加上String. copyValueOf(arr);
②自己写一个 copyValueOf(arr); 方法撒,
作者:
高欢欢
时间:
2012-7-18 06:45
其实错误不是很难找:
StringTest.java:32: 错误: 找不到符号
return copyValueOf(arr);
^
符号: 方法 copyValueOf(char[])
位置: 类 StringTest
说明调用方法的时候错了!
copyValueOf()方法调用的是哪的?这个你自己要清楚,而且这个方法是静态的。
你现在要调用一个静态方法,你就这样平白的去调用显然是不行的。
所以在改为String.copyValueOf(arr);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2