2014-01-27 31 views
0

如何在方法中使用已返回的數組?在主要方法中使用返回數組

我想用ArrayCreator.Create()方法(它返回數組)中創建的數組作爲ArrayCreator.Sort(*array here*)方法的數組輸入。

有沒有辦法在main方法中給返回的數組命名,然後用它來爲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

。當然,與任何其他變量,如你已經與scansort做(創建()未排序):

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

首先,你應該用小寫字母開始你的方法。有兩種方法可以做到這一點。您可以:

通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(* array here *)'是否返回任何東西。如果沒有(很可能)將它用作ArrayCreator.Sort(ArrayCreator.Create());'是毫無意義的,因爲我們無法在任何地方使用這個數組。 – Pshemo

+0

@Pshemo那是怎麼回事?問題是如何將從ArrayCreator.Create()獲得的數組傳遞給ArrayCreator.Sort()。 – Someone

+0

如果'ArrayCreator.Sort'沒有返回對排序數組的引用,它將產生與OP現在相同的問題。所以它不會解決任何問題。最好的方法是首先創建數組的引用,我們將從ArrayCreator.Create()中獲取數組,並在ArrayCreate.Sort(array);中使用此引用,如您在答案的第二部分中所示。此外,我不批評你,只是試圖添加更多的信息給你的答案。別往心裏放。 – Pshemo