Java:对数组使用get方法

Java:对数组使用get方法,java,arrays,printing,get,return,Java,Arrays,Printing,Get,Return,我希望有人能给我一些帮助,帮助我正确地使用get方法返回数组 public void setScores (int Scores[]) { this.scores = Scores; } 我可以设置数组没有问题,我想不出返回数组打印的方法 public int [] getScores () { for (int index =0; index <5; index ++) { System.out.println("Score"+x +"is"

我希望有人能给我一些帮助,帮助我正确地使用get方法返回数组

public void setScores (int Scores[])
{
    this.scores = Scores;
}
我可以设置数组没有问题,我想不出返回数组打印的方法

public int [] getScores ()
{

    for (int index =0; index <5; index ++)
    {
        System.out.println("Score"+x +"is" +this.scores[index]);
        x=x+1;
    }
    return scores;
}
我需要在上面的部分使用for循环吗

感谢你的帮助,
谢谢

在需要结果的地方,您可以调用get方法,然后在数组上迭代,如

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

不要在getScores中使用print循环,而是在打印数组的任何方法中使用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());
int[]数组=obj.getScores();
StringBuilder元素=新的StringBuilder();
for(int i=0;i
是的,您必须使用
for
while
循环向控制台显示阵列的每个元素

比如:

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

这样就行了。

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

  • x未初始化
  • 可以将循环应用到数组的长度,而不仅仅是5
  • 您可以简单地将数组放入println方法中。它将自动调用toString()方法

    System.out.println(“玩家分数为:“+this.scores”)


您也可以使用for each循环,尽管它与包装类一起工作,但由于autoboxing属性,转换将得到注意

我知道for循环中的打印不应该在那里,我只是想确定数组是否确实存在以供使用。您的确切问题是什么?要返回数组,只返回其中的一个值,还是打印出每个特定值。你的整个问题都不清楚你说的“因为我只是返回整个数组,而不是其中的元素”是什么意思?如果你只想打印数组,你可以用
Arrays.toString(scores)
懒洋洋地打印。如果你想返回数组本身,那么你已经正确地返回了。你对玩家的了解也不清楚,或者你想从哪里打印玩家的分数。为什么你没有一个既有名字又有分数的
Player
类呢?写一个简短但完整的例子可以让这个问题变得越来越清楚。
int[] score = getScores();
for(int i = 0; i < score.length; i++){
    System.out.println(score[i]);
}