根据ArrayList的对象坐标填充2D矩阵

时间:2015-07-15 16:31:30

标签: java

我有一个10行10列的2D矩阵,以及一个包含4个参数的对象的ArrayList,其中2个参数是坐标(float但总是舍入)。

// Create matrix
float [ ] [ ] grid = new float [ 10 ] [ 10 ];


public class MyObject {

  public float x;
  public float y;
  public int iD;
  public String myType;


  public MyObject (float x, float y, int iD, String myType) 
  {
    this.myType = myType;
    this.iD = iD;
    this.x = x;
    this.y = y;
  }
  @Override
    public String toString() {
    return ("[iD="+iD+" x="+x+" y="+y +" type="+myType+"]");
  }
}


ArrayList<MyObject> myArrayList = new ArrayList<MyObject>();

void setup() 
{
  size(100, 60);
  myArrayList.add(new MyObject(3.0, 4.0, 6, "a"));
  myArrayList.add(new MyObject(5.0, 2.0, 4, "b"));
}

我希望用一个对象填充矩阵1,但我无法检索对象的前两个参数。例如,这里我在第3行和第4列的位置以及第5行和第2列的位置有一个。

有没有办法检索这两个参数并将它们添加到矩阵中的正确位置?可以添加更多对象

1 个答案:

答案 0 :(得分:1)

您的代码存在一个基本缺陷。

在java中,实际数字默认为Double

因此,通过附加f

来表示浮点数
Float f=5.0f;

要执行您要求的任务,请执行以下循环。

for(MyObject o:myArrayList)
 grid[(int)o.x][(int)o.y]=1.0f;