我有两个char [],看起来像u4 [] 111111111733333333322211111111111111111117333333
和u5 [] 3333333222111111111111111111111173333333333333333
。所以现在我想比较这两个字符,并希望将特定值写入变量。 (t2是因子,应该比较哪些值!这意味着,u5 [0]应该与u4 [12],u5 [1]和u4 [13]进行比较,依此类推 - 所以只说,t2 = 12 )
所以我使用了以下代码:
if(u4[e] == '7' && u4[e+1] != '7')
{ y10 = e+1;
y00 = y10 - t2;
if(u5[(e+1)-(int)t2] == '3')
{y00 = y10 - t2;
for(int z = (e+1)-(int)t2;z<u4.length;z++)
{if((u5[z] != '3') && (u5[z-1] == '3') && (u4[z+(int)t2] == '3'))
{ y01 = z-1;
y11 = y01 + t2;
}
else{}
}
}
double[] coord = {x0,y00,x1,y10,x1,y11,x0,y01};
XYPolygonAnnotation Polygon = new XYPolygonAnnotation(coord, new BasicStroke(new Float(0.01)), Color.BLACK, Color.LIGHT_GRAY);
Plot.addAnnotation(Polygon);
}
else{}
所以目标是,为值'3'之间的每个连接获取多边形!如下图所示。 (u5在x轴= 570,u4在x轴730,所以我只对右半边感兴趣)
Generated manual -> so it should be!
所以,如果你能看到,我只想在两个字符的“绿色”(='3')值之间创建一个多边形!这意味着,我想只考虑u5 []处的“绿色”区域,并在u4 []处与“绿色”进行比较..这是不可能的(可能u4 []在此搜索区域中是“红色”,而不是我想去u5 []的下一个“绿色”部分,等等...所以我对“红色”区域不感兴趣...但是循环遍及每个值 - 当然,这是循环的任务 - 所以我也得到了一些更大,无用的多边形! 有没有人有一个想法,如何仅限制“绿色”区域的循环?
非常感谢!!
答案 0 :(得分:0)
只是一个猜测:最内层的else
案例,其代码为空,应该有break;
。否则,循环在找到3和3之间的边界后继续前进。