了解“缺少方法体”错误

了解“缺少方法体”错误

问题描述:

我想将arraylist“测试”传递给“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; 
    } 
} 
+0

两个参数和局部变量被称为'test' .. – 2015-03-13 10:02:48

+0

**公共静态的ArrayList SortArray(ArrayList的试验); ** 从该方法的末尾删除分号。 另外,更改** ArrayList test = new ArrayList (); ** 至 test = new ArrayList (); – Anshuman 2015-03-13 10:03:30

在此行中删除;

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可能会帮)

+0

和内联括号 – 2015-03-13 10:04:39

+0

非常感谢你我对你的回复表示歉意,并感谢你的回复 – 2015-03-13 10:06:20

+0

@Chris Hudson犯错误是学习的最佳方式 – antonio 2015-03-13 10:16:39

重命名方法本地的ArrayList变量的测试,它将与一个传入的参数发生冲突。

+0

这是一个好的观点,但并不是问题提出的错误的原因。 – 2015-03-13 10:26:49

+0

@IanRoberts实际原因已经得到解答我指出了另一个错误。 – 2015-03-13 11:49:48

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

+0

这是一个好的观点,但不是问题提出的错误原因。 – 2015-03-13 10:26:28