我有一个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列的位置有一个。
有没有办法检索这两个参数并将它们添加到矩阵中的正确位置?可以添加更多对象
答案 0 :(得分:1)
您的代码存在一个基本缺陷。
在java中,实际数字默认为Double
因此,通过附加f
来表示浮点数Float f=5.0f;
要执行您要求的任务,请执行以下循环。
for(MyObject o:myArrayList)
grid[(int)o.x][(int)o.y]=1.0f;