2014-01-27 2 views
0

Как вы используете массив, который был возвращен, далее в методе?Использование возвращаемого массива в основном методе

Я пытаюсь использовать массив, созданный в методе ArrayCreator.Create() (который возвращает массив) в качестве входного массива для метода ArrayCreator.Sort(*array here*).

Есть ли способ наименования возвращаемого массива в основном методе, а затем просто использовать его для метода ArrayCreator.Sort(*array here*)?

Я попытался с помощью ArrayCreator.Sort

public void main(String args[]) { 
    Scanner scan; 
    scan = new Scanner(System.in); 
    ArrayCreator.Create(); 

    System.out.println("Do you want to sort the Array (y/n)"); 
    char sort = scan.next().charAt(0); 
    if (sort == 'y' || sort == 'Y') { 
     ArrayCreator.Sort(); 
     System.out.println("Array has been sorted"); 
    } 
    // .. 
} 

ответ

2

Конечно же, как и любой другой переменной, как вы уже сделали с scan или sort (Create() Unsorted.):

Whatever[] array = ArrayCreator.create(); 
0

Прежде всего, вы должны начать свои методы с нижнего регистра. Есть два способа сделать это. Вы можете:

Pass ArrayCreator.Create() в качестве параметра для ArrayCreator.Sort():

ArrayCreator.Sort(ArrayCreator.Create()); //the create method is called first since it returns the array used as the parameter 

Или присвоить возвращаемое значение ArrayCreator.Create() как массив и передать его ArrayCreator .Сортировать();

Object[] array = ArrayCreate.Create(); 
ArrayCreate.Sort(array); 

Примечание: Вы хотели бы принять второй подход.

+0

Мы не знаем, если 'ArrayCreator.Sort (* массив здесь *)' возвращает что-либо. Если нет (что весьма вероятно), используя его как 'ArrayCreator.Sort (ArrayCreator.Create());' бессмысленно, потому что мы не сможем использовать этот массив где угодно. – Pshemo

+0

@Pshemo. Какое это имеет отношение к этому? Вопрос заключается в том, как передать массив, полученный из ArrayCreator.Create(), в ArrayCreator.Sort(). – Someone

+0

Если 'ArrayCreator.Sort' не возвращает ссылку на отсортированный массив, это создаст ту же проблему, что и в OP. Так что это ничего не решит. Лучший способ - сначала создать ссылку для массива, которую мы будем получать из 'ArrayCreator.Create()' и использовать эту ссылку в 'ArrayCreate.Sort (array);' как вы показали во второй части вашего ответа. Также я не критикую вас, а просто пытаюсь добавить дополнительную информацию к вашему ответу. Никаких жестких чувств. – Pshemo

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