2016-07-15 33 views
-1

導師的名字問我們如何創建一個方法把字符串參數來指定某事

如何創建一個名爲addAlien新方法,這需要String參數指定的外國人的名字,並創建一個新的方法內部的異形對象,然後將其添加到ArrayList

我只是寫:

public void addAlien(String name)  
{ 
    Alien name = new Alien() 
} 

回答

2

我希望你正在尋找:

ArrayList<Alien> list = new ArrayList<>(); 
public void addAlien(String name) { 
    list.add(new Alien(name)); 
} 
1

在你addAlien方法,輸入參數綁定到標識符 '名稱',如你宣稱:

public void addAlien(String name) ... 

所以當用戶將字符串傳遞給方法時,字符串可以通過標識符'name'和fu進一步用於其他目的。 但是之後,你使用非常相同的標識符(即'name')創建了一個Alien類型的變量。在研究進一步的發展之前應該清除這種困惑。

所以不是

Alien name = new Alien() 

你應該做的

Alien newlyCreatedAlien = new Alien() 

注意到它在語法上是合法的,編譯你寫的代碼,這是一個名爲「陰影」的概念。如果您在理解或查找相關材料方面遇到困難,請告知我們。

最後,方法用戶給出的字符串(現在由標識符'name'存儲和參考)應該正確使用! 在這種情況下,我們正在創建(構建)一個新的Alien對象。通常,我們調用一個類的所謂「構造函數」。

new Alien(someParameterPassedToTheConstructor) 

因此存儲在'name'中的信息應該通過構造函數的參數傳遞來創建一個特定的Alien。

new Alien(name) 

將是需要的微不足道的解決方案。

注意在由DhiwaTdG提供的解決方案中,新創建的Alien不是使用任何標識符(它被創建並直接添加到列表中)存儲的。這是非常好的,因爲這種方法不需要對這個特殊的外星人進行進一步的操作,然後將其添加到列表中。這是我們之後的列表,而不是外星人(至少在這種方法中)。

希望這會幫助你清理一些混亂。

相關問題