Java 反编译器代码错误
有人能帮我修一下这个密码吗。$SwitchMap$uk$ac$aber$dcs$blockmotion$gui$Direction和inputmatchexception出现编译错误,我应该写什么 下面是整个函数。如果有人能给我一个简短的解释,让我了解发生了什么事,我会非常感激Java 反编译器代码错误,java,compiler-errors,null,Java,Compiler Errors,Null,有人能帮我修一下这个密码吗。$SwitchMap$uk$ac$aber$dcs$blockmotion$gui$Direction和inputmatchexception出现编译错误,我应该写什么 下面是整个函数。如果有人能给我一个简短的解释,让我了解发生了什么事,我会非常感激 private void setSlideNumber(String msg, Direction direction) { boolean tryAgain = true; do {
private void setSlideNumber(String msg, Direction direction) {
boolean tryAgain = true;
do {
System.out.println(msg);
try {
int ime = Math.abs(this.in.nextInt());
switch(null.$SwitchMap$uk$ac$aber$dcs$blockmotion$gui$Direction[direction.ordinal()]) {
case 1:
this.slideHorizontalLeftNum = -ime;
((SlideTransformer)this.slideHorizontallyLeftTransformer).setAmount(this.slideHorizontalLeftNum);
break;
case 2:
this.slideHorizontalRightNum = ime;
((SlideTransformer)this.slideHorizontallyRightTransformer).setAmount(this.slideHorizontalRightNum);
break;
case 3:
this.slideVerticalUpNum = -ime;
((SlideTransformer)this.slideVerticallyUpTransformer).setAmount(this.slideVerticalUpNum);
break;
case 4:
this.slideVerticalDownNum = ime;
((SlideTransformer)this.slideVerticallyDownTransformer).setAmount(this.slideVerticalDownNum);
}
tryAgain = false;
} catch (InputMismatchException var8) {
System.out.println("Please type a valid number");
} finally {
this.in.nextLine();
}
} while(tryAgain);
}
顺便说一下,方向是一个枚举
这是滑动变压器的课程
public abstract class SlideTransformer implements Transformer {
int amount;
public SlideTransformer(int amount) {
this.amount = amount;
}
public int getAmount() {
return this.amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
}
现在,枚举方向的代码为:
public enum Direction {
LEFT,
RIGHT,
UP,
DOWN;
private Direction() {
}
}
你那奇怪的代码来自一个类的反编译 切换是在方向枚举的序数值上进行的,因此只需替换:
switch(null.$SwitchMap$uk$ac$aber$dcs$blockmotion$gui$Direction[direction.ordinal()])
与
请注意,我们通常直接切换枚举,并使用其不同的值,这要简单得多:
switch(direction){
case LEFT :...
case RIGHT : ...
...
}
空值是什么。$SwitchMap$uk$ac$aber$dcs$blockmotion$gui$Direction输入不匹配异常的错误是什么?您从哪里得到空值的想法。$SwitchMap$uk$ac$aber$dcs$blockmotion$gui$Direction[Direction.ordinal]是正确的Java吗?我从.class得到它,我需要它使它在实际的.Java null中工作。$SwitchMap$uk$ac$aber$dcs$blockmotion$gui$Direction和uk/ac/aber/dcs/bloockmotion/gui引用包方向引用包内的枚举
switch(direction){
case LEFT :...
case RIGHT : ...
...
}