Java: 对数组使用 get 方法

Java: using get method with an array

我希望有人能够通过 return使用 get 方法获取数组的正确方法给我一些帮助。

public void setScores (int Scores[])
{
    this.scores = Scores;
}

我可以设置数组没问题,我想不出办法return要打印的数组。

public int [] getScores ()
{

    for (int index =0; index <5; index ++)
    {
        System.out.println("Score"+x +"is" +this.scores[index]);
        x=x+1;
    }
    return scores;
}

我知道上面的代码 不会 工作,因为我只是 return 整个数组,而不是其中的元素。

我想做的是,将数组的每个元素显示到控制台:

System.out.println( "Player "+playName+"'s Scores are: \n"+Players.getScores());

上面的部分需要用for循环吗?

感谢您的帮助, 谢谢

从需要结果的地方调用 get 方法,然后遍历数组,例如

int[] result = getScores();
System.out.println("Player "+playName+"'s Scores are:")
for(int n: result){
    System.out.println(n);
}

不要在 getScores 中使用打印循环,而是在打印数组的任何方法中放置一个 for 循环,并让它构造一个包含元素的字符串。

返回数组

public int [] getScores ()
{
    return scores;
}

在主要方法中

int[] array = obj.getScores();
StringBuilder elements = new StringBuilder();
for(int i = 0;i < array.length -1;i++){
    elements.append(array[i] +",");
}
elements.append(array[array.length-1]);
System.out.println( "Player "+playName+"'s Scores are: \n"+elements.toString());

是的,您必须使用 forwhile 循环将数组的每个元素显示到控制台。

类似于:

int[] score = getScores();
for(int i = 0; i < score.length; i++){
    System.out.println(score[i]);
}

会起作用。

您想显示分数或 return 分数。如果您只想显示,则无需 return 分数。

  • x 未初始化。
  • 你可以应用循环直到数组的长度不只是 5。
  • 你可以简单地将数组放在 println 方法中。它会自动调用 toString() 方法。

    System.out.println("Players scores are : " + this.scores);

您也可以使用 for each 循环,尽管它可以与 Wrapper 类 一起使用,但是由于自动装箱 属性,转换将被小心处理。