创建一个返回字符串数组的方法

时间:2018-07-08 23:27:26

标签: java arrays string methods

我正在努力学习Java的艰辛方法,挥舞着头,理解如何以困难的方式做事。因此,这可能是不可能的,但是,是否有可能使方法返回String类型的2D数组?

具体来说,这是一种提示用户输入二维数组中的名字和姓氏列表的方法。

public static String nameTest() {
    String nameList[][] = new String[publicArraySize][publicArraySize];

            //get user names here

    return nameList;  <--gives error can't convert from String[][] to String
    }

同样是要获取2D数组中的名称列表。然后,步骤2是在方法中返回该字符串数组。

谢谢您的时间。

3 个答案:

答案 0 :(得分:0)

可以,但是在代码中,您也需要使方法签名为String [] [](提供更多代码以检查其他行是否错误)。在旁边,您可以创建一个新的对象“名称”,并填充诸如FirstName和LastName之类的字段,然后在每次提供时将它们添加到ArraList中。

答案 1 :(得分:0)

此行:public static String nameTest()是方法签名。这就像一份合同,您必须遵守此合同。

  1. public->这意味着可以从任何类中调用该方法。
  2. static->这意味着该方法是静态的。
  3. String->这意味着该方法将返回String类型的对象。问题是您正尝试返回一个二维String数组。
  4. ()->表示该方法没有参数。因此,您不能使用参数调用此方法。

要解决您的问题,您必须通过以下方式将返回类型从String更改为String [] []:

public static String[][] nameTest() {
    String nameList[][] = new String[publicArraySize][publicArraySize];

            //get user names here

    return nameList;
}

答案 2 :(得分:0)

首先,我要说的是,函数定义的基本规则是函数的类型应与返回值的类型相同。 这意味着如果您将函数定义为

public static String nameTest(){}

您的返回值应为String。

要解决此错误,您需要将功能更改为

public static String[][] nameTest() {
    String nameList[][] = new String[publicArraySize][publicArraySize];

            //get user names here

    return nameList;  <--gives error can't convert from String[][] to String
    }