如何仅针对特定范围

时间:2017-05-07 12:44:22

标签: java loops char compare

我有两个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!

Generated by loop

所以,如果你能看到,我只想在两个字符的“绿色”(='3')值之间创建一个多边形!这意味着,我想只考虑u5 []处的“绿色”区域,并在u4 []处与“绿色”进行比较..这是不可能的(可能u4 []在此搜索区域中是“红色”,而不是我想去u5 []的下一个“绿色”部分,等等...所以我对“红色”区域不感兴趣...但是循环遍及每个值 - 当然,这是循环的任务 - 所以我也得到了一些更大,无用的多边形! 有没有人有一个想法,如何仅限制“绿色”区域的循环?

非常感谢!!

1 个答案:

答案 0 :(得分:0)

只是一个猜测:最内层的else案例,其代码为空,应该有break;。否则,循环在找到3和3之间的边界后继续前进。