我有一个 Java 项目,其中在一个类中初始化了一个数组,就像这样。
public class pixel {
public boolean[] pixelAvailability = new boolean[100];
}
在我的主类中,运行了我创建的另一个类的方法。该方法的代码如下所示。
public void walls() {
for (int i = 1; i <= 10; i++) {
// This is the part I need help with!
}
}
此方法的预期用途是更改 pixelAvailability 数组中某些条目的值。在注释所在的空间中,应该有一行访问数组,并将具有相同值 'i' 的数组的索引更改为 true。但是,我不确定我会在那里写什么,以更改像素类实例中存在的 pixelAvailability 数组的值,该实例不是在“walls”类本身中创建的。主类简单地创建了两个类的两个实例,并且是这样编写的。
public class main {
public static void main(String[] args) {
pixel pixelObj = new pixel();
wall wallObj = new wall();
walls();
}
}
虽然我可以在 main 方法中为“walls”方法编写代码,但它会占用大量空间并使其有点混乱,而且似乎没有必要。
还有第四个类与此特定问题无关,但也会遇到访问 pixelAvailability 数组中的值的问题。非常感谢任何帮助或提示!
您需要将 Pixel 对象作为参数传递,首先更改您的 wall 方法以接收 Pixel 作为参数
public void walls(Pixel pixel) {
for (int i = 1; i >= 10; i++) {
// here you can do whatever you want like pixel.pixelAvailability[i] = false;
}
}
然后在您的主要内容中,您将像素作为参数传递
public class main {
public static void main(String[] args) {
pixel pixelObj = new pixel();
wall wallObj = new wall();
walls(pixelObj); //here you do the magic
}
}
基本上,您正在更改 wall 方法以接受 Pixel 实例作为参数。所以你可以在你的方法中访问它。
现在,无论何时调用walls 方法,都可以将任何Pixel 对象传递给它。
有关更多信息,您可以查看此链接
https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句