public class Reserve {
public static char[] reserves(String a){
int n=a.length();
char c;
char[] s=new char[n];
s=a.toCharArray(); //这句不是可以吗!
for(int i=0;i<(n-1)/2;i++)
{c=s[i];
s[i]=s[n-1-i];
s[n-1-i]=c;
}
System.out.println(s);
a=s.toString(); // 这个语句有什么问题?
System.out.println(a); //为什么会输出 “[C@35ce36“
return s;
}
public static void main (String[] args){
String k="abcdefgijklmnopqrstuvwxyz!";
System.out.println("-----------------");
System.out.println(Reserve.reserves(k));
}
}
运行结果:
-----------------
!zyxwvutsrqpnomlkjigfedcba
[C@35ce36
!zyxwvutsrqpnomlkjigfedcbas的toString()是要返回s的地址吗?
那么是否需要StringBuffer 将s转回String呢?
或者有更高明的办法!还有 我在API里怎么就找不到javax.severlet包呢?
public static char[] reserves(String a){
int n=a.length();
char c;
char[] s=new char[n];
s=a.toCharArray(); //这句不是可以吗!
for(int i=0;i<(n-1)/2;i++)
{c=s[i];
s[i]=s[n-1-i];
s[n-1-i]=c;
}
System.out.println(s);
a=s.toString(); // 这个语句有什么问题?
System.out.println(a); //为什么会输出 “[C@35ce36“
return s;
}
public static void main (String[] args){
String k="abcdefgijklmnopqrstuvwxyz!";
System.out.println("-----------------");
System.out.println(Reserve.reserves(k));
}
}
运行结果:
-----------------
!zyxwvutsrqpnomlkjigfedcba
[C@35ce36
!zyxwvutsrqpnomlkjigfedcbas的toString()是要返回s的地址吗?
那么是否需要StringBuffer 将s转回String呢?
或者有更高明的办法!还有 我在API里怎么就找不到javax.severlet包呢?
你的确代码中s是个数组对象,s.toString()它返回一个代表对象的字符串.
只有StringBuffer才用toStringStringBuffer本身就提供reverse()方法,何必自己写char[] s=new char[n];是多余的
直接char[] s=a.toCharArray();
public static char[] reserves(String a){
int n=a.length();
char c;
char[] s=new char[n];
s=a.toCharArray(); //这句不是可以吗!
for(int i=0;i<(n-1)/2;i++)
{c=s[i];
s[i]=s[n-1-i];
s[n-1-i]=c;
}
System.out.println(s);
//a=s.toString(); // 这个语句有什么问题?
a = new String(s);
System.out.println(a); //为什么会输出 “[C@35ce36“
return s;
}
public static void main (String[] args){
String k="abcdefgijklmnopqrstuvwxyz!";
System.out.println("-----------------");
System.out.println(Reserve.reserves(k));
}
}
而不是说JDK里面
我想学习severlet的类库