我正在尝试将网格分成四个象限,但我一直在收到错误。基本上,我想说我的x坐标在0到50之间,与我的y坐标相同。
然后从那里,我想用我的x和y坐标分割网格。代码中的第二个x表示我需要创建一个method(int,boolean)
。返回后我的所有整数都有错误。我是Java的新手,所以任何帮助或见解都会很棒!
GridValueLayer habitat = new GridValueLayer("habitat", 0.00, true, 50, 50);
context.addValueLayer(habitat);{
for (int x = 0; x >= 0, x <= 50){
for (int y = 0; y >= 0; y <= 50){
if(x > 0 && y > 0)
return 1;
else if(x < 0 && y > 0)
return 2;
else if(x < 0 && y < 0)
return 3;
else if (x<0 && y >0)
return 4;
}
}
答案 0 :(得分:0)
首先,没有使用for循环的目的,因为一旦你执行return 1;
或任何返回,整个方法就会停止。您可以做的只是在那里输出结果而不是返回,或者使用x和y坐标填充arraylist中的对象。在任何情况下,请删除返回和输出,它应该可以工作。
答案 1 :(得分:0)
我不确定错误是什么(或者你想要代码完成的是什么),但我不认为你在那里编写代码。 for循环语法是一个初始条件,何时停止,以及由分号分隔的增量。对于增量,你给了一个条件。你还省略了一个分号,并且addValueLayer
有一个额外的大括号。我仍然认为这段代码不会按照您的意愿行事,但这是一个尝试工作的地方。
GridValueLayer habitat = new GridValueLayer("habitat", 0.00, true, 50, 50);
context.addValueLayer(habitat);
for (int x = 0; x >= 0; x++) {
for (int y = 0; y >= 0; y++) {
if(x > 0 && y > 0)
return 1;
else if(x < 0 && y > 0)
return 2;
else if(x < 0 && y < 0)
return 3;
else if (x<0 && y >0)
return 4;
}
}