public class Testswap{   public static void main( String arg[])
   {
      char a[] = {'b', 'a'};
      if (a[0] > a[1] )
         swap(0,1);      public void swap (int index1, int index2)
      {
         char temp = a[index1];
         a[index1] = a[index2];
         a[index2] = temp;
      }   System.exit(0);
   }}请问可不可以在这样定义方法?我自己以为可以,但出现错误
我编译后出现的错误是
Testswap.java:12: illegal start of expression
      void swap (int index1, int index2)
      ^
1 error

解决方案 »

  1.   

    看得出你是剛入門public class Testswap {
    static char a[] = {'b', 'a'};
    public static void main( String arg[])
       {
         
          if (a[0] > a[1] )
             swap(0,1);
          
       }
    public static void swap (int index1, int index2)
       {
          char temp = a[index1];
          a[index1] = a[index2];
          a[index2] = temp;
       }
    }
      

  2.   

    在main方法里面:Testswap test = new Testswap();
    test.swap(0,1);在main方法里面不能直接调用该类的方法的
      

  3.   

    通常是这样的,弄清楚java中,类、方法等意义是非常重要的呢。public class Testswap{   public static void main( String arg[])
       {
          char a[] = {'b', 'a'};
          if (a[0] > a[1] )
             new Testswap().swap(0,1);
       System.exit(0);
       }
       public void swap (int index1, int index2)
       {
          char temp = a[index1];
          a[index1] = a[index2];
          a[index2] = temp;
       }
    }
      

  4.   

    刚才的,错了, sorrypublic class Testswap {    public static void main(String arg[]) {
            char a[] = { 'b', 'a' };
            if (a[0] > a[1])
                new Testswap().swap(a, 0, 1);
            System.exit(0);
        }    public void swap(char[] a, int index1, int index2) {
            char temp = a[index1];
            a[index1] = a[index2];
            a[index2] = temp;
        }
    }要注意,java中,传参的种类,值传递还是指针传递阿,呵呵
      

  5.   

    s3x4(懒虫) :
    不好意思问一下,
    new Testswap().swap(a, 0, 1);
    为什么要在Testswap().swap(a, 0, 1)前面加个new,
    不是很明白.我直接调用Testswap().swap(a, 0, 1)方法不就可以了吗!
      

  6.   

    new 是要实例化一个方法