无法将二维数组传递到方法中

问题描述 投票:0回答:1

我正在尝试尝试 Java 中的方法。 我的代码创建一个数组,并通过将数组传递给方法来用 Cookie 对象填充它。

public class TestSoda {
  public static void main(String[] args) {
    Cookie [][] snack =  new Cookie[2][2];
    MakeCookie(Cookie [][] snack); // calls the MakeCookie method and passes the array
  } 

  static class Cookie {
    public Cookie() {
    }
  }

  // fills the 2D array with Cookie objects
  public static void MakeCookie(Cookie [][] snack ) {
    for (int a = 0; a < snack.length; a++) {
      for (int b = 0; b < snack.length; b++) {
        snack[a][b] = new Cookie();
      }
    }
  }
  
}

我的期望是:

创建二维数组

将 2D 数组传递到方法中

方法填充数组

但是,我得到了编译器错误。

我收到这些错误: MakeCookie 无法解析为类型。 标记上的语法错误,结构错误。 重复的局部变量零食。

为什么我无法传递数组?

谢谢您的帮助。

java arrays methods compiler-errors arguments
1个回答
0
投票

在第 3 行将参数传递给方法

snack
时,您可以指定参数
MakeCookie
的类型 - 这是不必要的。

只需传递参数

snack
,无需类型。

固定代码:

public class Test {
    public static void main(String[] args) {
        Cookie [][] snack =  new Cookie[2][2];
        MakeCookie(snack); // calls the MakeCookie method and passes the array
    }

    static class Cookie {
        public Cookie() {
        }
    }

    // fills the 2D array with Cookie objects
    public static void MakeCookie(Cookie [][] snack ) {
        for (int a = 0; a < snack.length; a++) {
            for (int b = 0; b < snack.length; b++) {
                snack[a][b] = new Cookie();
            }
        }
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.