2010-02-20 126 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

相关问题