public String[] decode(String message)
{
String ans1 = "hey";
String ans2 = "hi";
return {ans1 , ans2}; // Is it correct?
}
以上示例無法正常工作。我收到一個錯誤。如何在一個return語句中返回兩個字符串?
我該如何實現最初的問題?
public String[] decode(String message)
{
String ans1 = "hey";
String ans2 = "hi";
return {ans1 , ans2}; // Is it correct?
}
以上示例無法正常工作。我收到一個錯誤。如何在一個return語句中返回兩個字符串?
我該如何實現最初的問題?
正確的語法是
return new String[]{ ans1, ans2 };
即使你已經創建了兩個String
S(ans1
和ans2
)您尚未創建String
陣列(或String[]
)你想返回。上面示出的語法是簡寫稍微詳細但等效的代碼:
String[] arr = new String[2];
arr[0] = ans1;
arr[1] = ans2;
return arr;
其中我們創建了一個長度爲2字符串數組,第一值到ans1
和第二分配給ans2
,然後返回該數組。
return new String[] { ans1, ans2 };
你必須做之所以這樣做只是說{ANS1,ANS2}實際上並沒有創造你試圖返回的對象。它所做的只是向數組中添加兩個元素,但如果沒有「new String []」,則實際上並沒有創建一個數組來添加元素。
爲什麼會這樣?我老年人創建了一個字符串..如果我創建一個新的字符串,如ans1 = new String []那麼它會工作嗎? – higherDefender 2010-02-20 05:24:14
@ D.J更新了我的答案並提供了進一步的解釋。 – 2010-02-20 05:29:56
return new String[] {ans1 , ans2};
這是爲什麼?我老年人創建了一個字符串..如果我創建一個新的字符串,如ans1 = new String []那麼它會工作嗎? – higherDefender 2010-02-20 05:23:48
return new String[]{ans1,ans2};
這應該工作。在評論中提出你的其他問題。由於Java是強類型語言,因此所有變量/結果都應該被實例化。既然你沒有實例化你想要返回的結果,我們在return語句本身中進行實例化。
我現在只是一名高中生,但我從我的一位朋友那裏得到的簡單解決方案應該可以工作。它是這樣的(這是我的AP類項目的一部分):
public String firstMiddleLast()
{
//returns first, middle, and last names
return (first + " " + middle + " " + last);
}
然後呢?來電者必須再次對他們進行再次......? – alexander 2015-05-13 13:55:42
爲什麼這樣呢?我老年人創建了一個字符串..如果我創建一個新的字符串,如ans1 = new String []那麼它會工作嗎? – higherDefender 2010-02-20 05:24:32
@ D.J。因爲即使你已經創建了String對象,你還沒有創建一個String數組(請參閱我編輯的答案以獲取更多詳細信息) – 2010-02-20 05:31:42