如何使用另一个方法中的数据填充一个方法中的String数组?

时间:2014-10-03 22:57:04

标签: java arrays

在干扰数组和无数谷歌搜索之后,我似乎无法找到答案。

    public static void main(String args[]){
        String[] names = new String[4]; //I want to fill this up with data from country
        country(names);
        System.out.println(names(0)) //I want this to display Madrid
    }

    public static void country(String[] names){
        names[0] = "Madrid"; 
        names[1] = "Berlin";
        return;
    }

我不确定这是否解释了我正在尝试做什么。

2 个答案:

答案 0 :(得分:2)

你真的必须研究java语法。你的代码很简单,所以它应该立即工作,但你必须小心一些细节,这是一个工作正常的代码:

public static void main(String args[]) {
    String[] names = new String[4]; //I want to fill this up with data from country
    country(names);
    System.out.println(names[0]); //I want this to display Madrid
}

public static void country(String[] names) {
    names[0] = "Madrid";
    names[1] = "Berlin";
}

如您所见,我使用[]访问数组中特定索引的值。我也不会在虚空方法中使用任何回报。

您不需要以country方式返回数组,因为java不会传递有关值的参数(请参阅http://javarevisited.blogspot.fr/2012/12/does-java-pass-by-value-or-pass-by-reference.html

所以我真的建议你阅读有关java语法的任何教程,以便现在提高自己。

答案 1 :(得分:1)

使用[]访问数组,而不是()。您在打印声明中也缺少分号。

变化:

System.out.println(names(0))

要:

System.out.println(names[0]);  // use [] instead of () and add a semicolon

此外,方法country(String[] names)会返回void,因此您不需要在其末尾显示return语句(暗示)。

以下是您的代码的样子:

   public static void main(String args[]){
        String[] names = new String[4]; //I want to fill this up with data from country
        country(names);
        System.out.println(names[0]); // use [] instead of () and add a semicolon
    }

    public static void country(String[] names){
        names[0] = "Madrid"; 
        names[1] = "Berlin";
    }