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