2017-05-07 44 views
0

我有两个字符[],它看起来像u4 [] 111111111733333333322211111111111111111117333333和u5 [] 3333333222111111111111111111111173333333333333333。所以现在我想比较这两个字符,并想将特定值写入一个变量。 (t2是要比较的因素,即u5 [0]应该与u4 [12],u5 [1]和u4 [13]相比较,等等 - 所以就是说,t2 = 12 )如何比较只在特定范围的循环中的字符

所以我必须用下面的代码工作:

if(u4[e] == '7' && u4[e+1] != '7') 
 
\t { \t y10 = e+1; 
 
\t \t y00 = y10 - t2; \t \t \t \t 
 
\t \t if(u5[(e+1)-(int)t2] == '3') 
 
       {y00 = y10 - t2; 
 
\t   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; \t 
 
\t \t \t  y11 = y01 + t2; 
 
\t \t  } 
 
\t \t \t else{} 
 
\t \t  } 
 
\t   } \t \t 
 
\t \t \t \t \t \t \t 
 
\t \t double[] coord = {x0,y00,x1,y10,x1,y11,x0,y01}; 
 
\t \t XYPolygonAnnotation Polygon = new XYPolygonAnnotation(coord, new BasicStroke(new Float(0.01)), Color.BLACK, Color.LIGHT_GRAY); \t \t \t \t \t \t \t   
 
       Plot.addAnnotation(Polygon); 
 
     } 
 
\t else{}  \t \t \t \t \t

所以目标是,让多边形每个相结合的值 '3' 之间!所以像下面的图片。 (U5是在x轴= 570和U4在x轴730,所以i'm右半只是有兴趣)

Generated manual -> so it should be!

Generated by loop

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

非常感谢!

+1

Java!= JavaScript –

+0

是的,你说得对,对不起! – Franky

回答

0

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