2010-02-20 60 views

回答

23

正確的語法是

return new String[]{ ans1, ans2 }; 

即使你已經創建了兩個String S(ans1ans2)您尚未創建String陣列(或String[])你想返回。上面示出的語法是簡寫稍微詳細但等效的代碼:

String[] arr = new String[2]; 
arr[0] = ans1; 
arr[1] = ans2; 
return arr; 

其中我們創建了一個長度爲2字符串數組,第一值到ans1和第二分配給ans2,然後返回該數組。

+0

爲什麼這樣呢?我老年人創建了一個字符串..如果我創建一個新的字符串,如ans1 = new String []那麼它會工作嗎? – higherDefender 2010-02-20 05:24:32

+0

@ D.J。因爲即使你已經創建了String對象,你還沒有創建一個String數組(請參閱我編輯的答案以獲取更多詳細信息) – 2010-02-20 05:31:42

9
return new String[] { ans1, ans2 }; 

你必須做之所以這樣做只是說{ANS1,ANS2}實際上並沒有創造你試圖返回的對象。它所做的只是向數組中添加兩個元素,但如果沒有「new String []」,則實際上並沒有創建一個數組來添加元素。

+0

爲什麼會這樣?我老年人創建了一個字符串..如果我創建一個新的字符串,如ans1 = new String []那麼它會工作嗎? – higherDefender 2010-02-20 05:24:14

+0

@ D.J更新了我的答案並提供了進一步的解釋。 – 2010-02-20 05:29:56

4
return new String[] {ans1 , ans2}; 
+0

這是爲什麼?我老年人創建了一個字符串..如果我創建一個新的字符串,如ans1 = new String []那麼它會工作嗎? – higherDefender 2010-02-20 05:23:48

2
return new String[]{ans1,ans2}; 

這應該工作。在評論中提出你的其他問題。由於Java是強類型語言,因此所有變量/結果都應該被實例化。既然你沒有實例化你想要返回的結果,我們在return語句本身中進行實例化。

-1

我現在只是一名高中生,但我從我的一位朋友那裏得到的簡單解決方案應該可以工作。它是這樣的(這是我的AP類項目的一部分):

public String firstMiddleLast() 
{ 
    //returns first, middle, and last names 
    return (first + " " + middle + " " + last); 
} 
+1

然後呢?來電者必須再次對他們進行再次......? – alexander 2015-05-13 13:55:42

相關問題