无法修复反编译java文件中的错误,是否可能修复?
从无法修复反编译java文件中的错误,是否可能修复?,java,Java,从.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; }
.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;
}
}
private void d(int参数)
{
int i1=参数;
如果(本节第五节)
{
i1=paramInt;paramInt=此;
if(this.r==4){
参数r=0;
}
paramInt.q[paramInt.r]=i1;paramInt.r+=1;paramInt.s.clear();i1=0;
打破标签78;
paramInt.s.add(Integer.valueOf(paramInt.q[i1]);i1++;
label78:
对于(i12;paramInt.s.addAll(paramInt.t))
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^错误发生的位置
{
参数t.clear();
对于(i1=0;i1+2
这是我通过命令行编译文件时得到的:
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
C:\Users\oblivion\Desktop\EADMatching.jar.src\com\arlab\imagerecognition>javac A
java
java:385:错误:>应为
对于(i12;paramInt.s.addAll)(第
薄荷糖
^
java:385:错误:不是语句
对于(i12;paramInt.s.addAll)(第
薄荷糖
^
2个错误
如何修复 for(i12;paramInt.s.addAll(paramInt.t))
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++)
(i1=0;i1+2
您可以看到第一个循环的语法完全不正确。java文档解释了正确的for循环语法:
答案就在错误
ARmatcher中。java:385:error:nota statement
。for循环的第一部分应该是一个语句,设置i1的值。