2016-11-08 47 views
1

我是一名新程序員,我試圖弄清楚如何在不同文件中的類之間發送數據。我的目標是從用戶那裏獲得輸入,並將其發送給另一個班級。然後該類採用int input來創建和設置數組的大小。這是我有:在單獨文件中的類之間發送數據

主類:

int size = input.nextInt(); 

    Thing thing = new Thing(size); 

第二類:

public class Thing { 

public static int[] Thing(int size) { 
    int[] thing; 
    thing = new int[size]; 

} 

我希望能夠有大小size的可用陣列,但我不知道我需要解決這個問題。我很感激你能給予的幫助。

+2

你已經做到了。我不明白這個問題。 – Matt1776

+0

此代碼看起來很適合我。你遇到什麼錯誤? –

+2

調用你的方法完全一樣,因爲你的班級必然會產生很多問題。請不要這樣做。要麼創建一個構造函數或一個常規的方法,但不要混淆它們。 – luk2302

回答

1

看着你的代碼,我不知道你是否要去尋找一個靜態實現或者一個對象實現。這是兩種方法來處理它。就個人而言,我會推薦對象方法。

你幾乎已經做到了。如果你想有一個靜態方法,我建議改變你的方法的名稱,並做一些像這樣:

public static int[] createThing(int size) { 
    int[] thing; 
    thing = new int[size]; 
    return thing; 
} 

您需要調用它像:

int[] Thing = Thing.createThing(size); 

如果你正在嘗試做的這作爲一個對象,你需要創建一個構造函數,它會返回一個對象的事情,但你需要改變你的Thing類:

public class Thing { 
int[] thingArray; 

public Thing(int size) { 
    this.thingArray = new int[size]; 
} 
public int[] getThingArray(){ 
    return this.thingArray; 
} 
} 

那麼你就撥打:

Thing thing = new Thing(size); 

創建一個新的Thing對象,並得到你做的對象數組:

thing.getThingArray(); 
+0

怎麼這麼@ luk2302? OP正在創建一個新對象,而不是調用靜態方法。 – BlackHatSamurai

+0

但是,如果它是一個構造函數,你就不能返回一個int []' – luk2302

+1

@ luk2302我更新了我的答案。 – BlackHatSamurai