java - 在 Java 中使用对象的 ArrayList(处理)

标签 java arraylist processing

我在处理(Java)中创建了以下草图:

ArrayList<Piece> pieces = new ArrayList<Piece>();

void setup() {
  size(300, 300);
  pieces.add(new Piece(100, 200)); // I ADD ONE PIECE TO THE ARRAY LIST 
}

void draw() {
  background(0);
  for (int i = 0; i < pieces.size(); i++) {
    Piece p = pieces.get(i);
    p.display(); // I WANT TO DRAW THE PIECE I'VE CREATED IN SETUP()
  }
}

class Piece {
  int x;
  int y;

  Piece (int x, int y) {
    x = x;
    y = y;
  }

  void display() {
    fill(255);
    ellipse(x, y, 30, 30); // AS X IS 100 AND Y IS 200, A BALL SHOULD BE DRAWN AT THOSE COORDINATES, BUT INSTEAD THE BALL IS DRAWN AT 0,0. WHY THAT?
  }
}

我向数组列表中添加了一个坐标为 (100,200) 的片段。当我执行 p.display() 时,它会在 0,0 而不是 100,200 处绘制椭圆。为什么会出现这种情况?

最佳答案

我相信

x = x;
y = y;

应该是

this.x = x;
this.y = y;

在你的 Piece() 构造函数中。 x=x 只是将值设置为其自身,使用 this 关键字将根据您尝试传入的值设置 Piece 的值。

关于java - 在 Java 中使用对象的 ArrayList(处理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28570544/

相关文章:

java - 为什么 Android API 要求结果参数而不是返回方法?

java - 如何将多个折线图放入一个场景/舞台?

java - 处理 Lambda 表达式中的异常

java - 处理 Java : How do you detect if the mouse was dragged through a variable

javascript - 编辑 JavaScript/HTML5 视频中的像素数据(处理为 JS 翻译)

java - 从列表字符串存储到另一个数组列表

Java ArrayList 和 LinkedList - 在末尾添加元素实现细节

java - 在 RecyclerView 中显示 Int ArrayList (Android Studio)

android - 如何比较 3 个数组列表并替换第三个数组列表中的数据?

java - 是否可以将 jcsg 库与处理一起使用?