了解“缺少方法体”错误

时间:2015-03-13 10:01:23

标签: java

我想将一个arraylist“test”传递给方法“sortArray”并返回它,但我不断收到错误。这是我的代码,请帮忙吗?

我收到以下错误“缺少方法体”

import java.util.Random;
import java.util.ArrayList;

public class SortingArrayListSD
{
  public static void main(String[] args)
  {
    ArrayList<Integer> test = new ArrayList<>();
    Random r = new Random();

    int largest = 0, indexnumber = 0;

    for ( int s = 0 ; s < 10; s++ )
    {
      test.add(1 + r.nextInt(99));
    }

    System.out.println("ArrayList Before: " + test);
    test = SortArray(test);
    System.out.println("ArrayList After: " + test);
  }

  public static ArrayList<Integer> SortArray( ArrayList<Integer> test );
  {
    ArrayList<Integer> test = new ArrayList<>();
    for ( int s = 1; s<test.size(); s++ )
    {
      for ( int a = 0; a<test.size(); a++)
      { 
        if ( test.get(s) > test.get(a) )
        {
          int temp = test.get(s);
          test.set(s, test.get(a));
          test.set(a, temp);
        }
      }
    }
    return test;
  }
} 

3 个答案:

答案 0 :(得分:4)

删除此行中的;

public static ArrayList<Integer> SortArray( ArrayList<Integer> test );

此外,您应该尊重Java代码约定。例如,您的SortArray方法应命名为sortArray

您可以查看Code Conventions for the Java TM Programming Language,或者更实用的方法,您可以查看Google Java Style

无论如何,您可能想要学习Collections(特别是在您的情况下http://docs.oracle.com/javase/tutorial/collections/algorithms/index.html#sorting可能有帮助)

答案 1 :(得分:0)

重命名方法本地ArrayList变量test,它将与传入参数的那个冲突。

答案 2 :(得分:0)

重命名参数或方法局部变量。 更好的选择是使用Collections.sort方法进行排序。