字符串问题

一个小程序,就是想将输入的字符串数组逆置,比如,编译运行java Test This is a test应该输出,tset a si sihT,程序总报错,大家帮忙给看看吧
[code="java"]
public class Test {

public static void main(String[] args) {

    for(int i=args.length-1;i>=0;i--){
        StringBuffer sb=new StringBuffer(args[i]);  
        System.out.print(Test.reverse(sb)+" ");
    }
}

public static String reverse(StringBuffer str){
    char c;
    int i,j;
    for(i=0,j=str.length()-1;i<j;i++,j--){
        c=str.charAt(i);
        str.charAt(i)=str.charAt(j);
        str.charAt(j)=c;
    }

    return str.toString();
}

}
[/code]
[b]问题补充:[/b]
我的意思是我的程序错在什么地方了,用其它的方法我会

str.charAt(i)=str.charAt(j);

str.charAt(j)=c;

赋值表达式左边只能是变量!不能是其它的!

上面不就有答案嘛,http://www.iteye.com/topic/253602

逆序输出 搞得这么麻烦?我帮你写个
[code="java"]
...

public void pring_Str(String s){
for(int i = s.length-1 ; i>=0 ; i-- ){
System.out.print(s.charAt(i));
}
}

...

[/code]

str.charAt(i)=str.charAt(j);

str.charAt(j)=c;

这两句错了

注意:类型和赋值

补充:

可以这样
public static void main(String[] args) {

String te="this is for test";
StringBuffer sb=new StringBuffer(te);

for(int i=te.length()-1;i>=0;i--){

System.out.print(sb.charAt(i));
// System.out.print(Test.reverse(sb)+" ");

}

}

[quote]str.charAt(i)=str.charAt(j);

str.charAt(j)=c;

赋值表达式左边只能是变量!不能是其它的!
sntaco (初级程序员) 2008-11-26 [/quote]

就是这个啊,把你的代码往eclipse里一贴就看出来了啊

[code="java"]public class Test {

public static void main(String[] args) {

    for(int i=args[0].length()-1;i>=0;i--){
    System.out.print(args[0].charAt(i));
    }
}

}[/code]
这样,执行的时候:java Test "This is a test"
等于是只传了一个参数