从.jar
库中提取类,并将类反编译为.java
个文件。现在当我尝试重新编译一个java文件时,我收到一个错误,我无法解决,这是代码:
private void d(int paramInt)
{
int i1 = paramInt;
if (this.v)
{
i1 = paramInt;paramInt = this;
if (this.r == 4) {
paramInt.r = 0;
}
paramInt.q[paramInt.r] = i1;paramInt.r += 1;paramInt.s.clear();i1 = 0;
break label78;
paramInt.s.add(Integer.valueOf(paramInt.q[i1]));i1++;
label78:
for (i1 < paramInt.q.length; paramInt.s.size() > 2; paramInt.s.addAll(paramInt.t))
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ where the error occurs
{
paramInt.t.clear();
for (i1 = 0; i1 + 2 < paramInt.s.size(); i1++)
{
int i5 = ((Integer)paramInt.s.get(i1 + 2)).intValue();int i4 = ((Integer)paramInt.s.get(i1 + 1)).intValue();int i3 = ((Integer)paramInt.s.get(i1)).intValue();int i2 = paramInt;int i6 = a(i3, i4);paramInt.t.add(Integer.valueOf(i2 = a(i2 = b(i2 = b(i3, i4), i5), i6)));
}
paramInt.s.clear();
}
i1 = ((Integer)paramInt.s.get(0)).intValue();
}
if (this.u != i1)
{
if (this.o != null)
{
this.o.onImageRecognitionResult(i1);
}
this.u = i1;
}
}
这是我通过命令行编译文件时获得的:
C:\Users\oblivion\Desktop\EADMatching.jar.src\com\arlab\imagerecognition>javac A
Rmatcher.java
ARmatcher.java:385: error: > expected
for (i1 < paramInt.q.length; paramInt.s.size() > 2; paramInt.s.addAll(para
mInt.t))
^
ARmatcher.java:385: error: not a statement
for (i1 < paramInt.q.length; paramInt.s.size() > 2; paramInt.s.addAll(para
mInt.t))
^
2 errors
如何解决?
答案 0 :(得分:1)
for (i1 < paramInt.q.length; paramInt.s.size() > 2; paramInt.s.addAll(paramInt.t))
这是导致问题的for循环,将它与for循环比较如下:
for (i1 = 0; i1 + 2 < paramInt.s.size(); i1++)
您可以看到第一个循环的语法完全不正确。 java文档解释了正确的for循环语法: