试图将数组传递给Java中的另一个类



我正在创建一个彩票程序,并第一次尝试链接列表。我将数字数组从Player类传递到Lottery类,这样我就可以显示当前玩家的数字,但它一直给我错误"actual and formal parameters differ in length"

会有另一个类别,将为获胜的数字,但我正试图首先解决这个问题。我不确定如何解决这个问题,因为我已经被困了很长一段时间了。

任何帮助都将不胜感激。

这是我遇到麻烦的一段代码,它在displayPlayers() method-中的Lottery类中

for(int i = 0; i < 6; i++) {
System.out.println(currentPlayer.getNumbers(i));
}
public class LOTTERY
{
Scanner keyboard = new Scanner(System.in);
private PLAYER pHead;

public LOTTERY()
{
pHead = null;

}

public void displayPlayers() {
PLAYER currentPlayer = pHead;
System.out.println("Name: " + currentPlayer.getName());
System.out.println("Age: " + currentPlayer.getAge());
currentPlayer.randNum();
System.out.println("Your Numbers: ");
for(int i = 0; i < 6; i++) {
System.out.println(currentPlayer.getNumbers(i));
}
menu();
}
public void runProg() {
displayPlayers();
}
public static void main(String[] args) {
LOTTERY lottery = new LOTTERY();
lottery.runProg();
}
}

方法getNumbers()不接受参数,但您正试图将其传递给i。此外,这个方法返回一个数组,所以你想在循环迭代之前得到这个然后迭代它。

您可以使用增强的for循环轻松完成此操作:

for (int currentNum : currentPlayer.getNumbers()) {
System.out.println(currentNum);
}

或者使用标准for环路:

int [] arr = currentPlayer.getNumbers();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}

您得到的错误说明了一切,您编写的方法不需要参数。当您调用getNumbers()方法时,您会向它传递i的值,尽管java并不期望这样,因为您在声明该方法时没有任何参数。

相关内容

  • 没有找到相关文章

最新更新