了解“缺少方法体”错误
我想将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;
}
}
在此行中删除;
:
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可能会帮)
和内联括号 – 2015-03-13 10:04:39
非常感谢你我对你的回复表示歉意,并感谢你的回复 – 2015-03-13 10:06:20
@Chris Hudson犯错误是学习的最佳方式 – antonio 2015-03-13 10:16:39
重命名方法本地的ArrayList变量的测试,它将与一个传入的参数发生冲突。
这是一个好的观点,但并不是问题提出的错误的原因。 – 2015-03-13 10:26:49
@IanRoberts实际原因已经得到解答我指出了另一个错误。 – 2015-03-13 11:49:48
重命名参数或方法局部变量。 更好的选择是使用Collections.sort方法进行排序。
这是一个好的观点,但不是问题提出的错误原因。 – 2015-03-13 10:26:28
两个参数和局部变量被称为'test' .. – 2015-03-13 10:02:48
**公共静态的ArrayList SortArray(ArrayList的试验); ** 从该方法的末尾删除分号。 另外,更改** ArrayList test = new ArrayList (); ** 至 test = new ArrayList (); –
Anshuman
2015-03-13 10:03:30