你在你的Main方法里打印一下Main方法参数数组的长度:
System.out.println(args.length);
就会发现是0,没有元素~
你的代码里s[0]、s[1]的地方必定都会报错,就是数组下标越界。
关于main方法及其参数你可以再深入研究一下。

解决方案 »

  1.   

    public class Mystery {
    public static void main(String[] args ){
    Changer c =new Changer();
    c.method(args);
    //System.out.println(args[0]+""+args[1]);
    }
    static class Changer{
    void method(String[] s){
    //String temp=s[0];
    //s[0]=s[1];
    //s[1]=temp;}
    }
    }
    改的话没意义,把你取数组对象的代码去掉就好了。数组本身就没有元素,你取就报错。
      

  2.   


    你就分别给指定下标元素赋值呗。s[0]='a'; s[1]='b'....然后你再去交换。
      

  3.   

    public class Mystery {
    public static void main(String[] args ){
    Changer c =new Changer();
    c.method(args);
    //System.out.println(args[0]+""+args[1]);
    }
    static class Changer{
    void method(String[] s){
    //String temp=s[0];
    //s[0]=s[1];
    //s[1]=temp;}
    }
    }
    改的话没意义,把你取数组对象的代码去掉就好了。数组本身就没有元素,你取就报错。大仙你头像很赞 我如果用cmd 去 先编译后运行 不会报错呢