2015-03-13 2 views
1

Я хотел бы передать 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; 
    } 
} 
+0

как параметр и локальной переменной называются 'test' .. –

+0

** открытые статические ArrayList SortArray (ArrayList тест); ** Удалить точку с запятой в конце метода. Кроме того, измените ** ArrayList test = new ArrayList <>(); ** до test = new ArrayList <>(); – Anshuman

ответ

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 может помочь)

+0

и встроенные скобки –

+0

Большое вам спасибо Я прошу прощения за makıng thıs mıstake и благодарю вас за ответ –

+0

@ Chris Hudson Ошибки - это лучший способ узнать – antonio

0

Переименовать ArrayList тест переменной метод локального, он будет конфликтовать с одной передается в параметре.

+0

Хороший момент, но не причина ошибки, которую задает вопрос , –

+0

@IanRoberts Фактическая причина была уже решена. Я указал еще одну ошибку. –

0

Переименуйте локальную переменную параметра или метода. Лучше использовать метод Collections.sort для сортировки.

+0

Хороший момент, но не причина ошибки, о которой спрашивает вопрос. –

Смежные вопросы