所以我正在使用legOS(小乐高机器人),基本上我正在做的是找到一个带有A *的迷宫的解决方案,我想用它来告诉机器人在迷宫中移动的位置。
但是我一直遇到的问题是,当我尝试启动优先队列时,它给了我这个异常
js.tinyvm.TinyVMException: Invalid byte tag in constant pool: 15
at js.tinyvm.ClassRecord.getClassRecord(ClassRecord.java:871)
at js.tinyvm.ClassRecord.storeReferredClasses(ClassRecord.java:394)
at js.tinyvm.Binary.processClasses(Binary.java:381)
at js.tinyvm.Binary.createFromClosureOf(Binary.java:309)
at js.tinyvm.TinyVMTool.link(TinyVMTool.java:97)
at js.tinyvm.TinyVMTool.link(TinyVMTool.java:48)
at lejos.pc.tools.NXJLink.start(NXJLink.java:134)
at lejos.pc.tools.NXJLink.run(NXJLink.java:101)
at lejos.pc.tools.NXJLink.start(NXJLink.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at lejos.pc.tools.ToolStarter.startTool(ToolStarter.java:31)
at lejos.pc.tools.NXJLink.main(NXJLink.java:28)
Caused by: org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
at org.apache.bcel.classfile.Constant.readConstant(Constant.java:146)
at org.apache.bcel.classfile.ConstantPool.<init>(ConstantPool.java:67)
at org.apache.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:222)
at org.apache.bcel.classfile.ClassParser.parse(ClassParser.java:136)
at js.tinyvm.ClassRecord.getClassRecord(ClassRecord.java:865)
... 14 more
Linking the file failed with exit status 1
我知道优先级队列,因为我已经评论了这些行并且程序链接成功
这是我开始排队的地方
PriorityQueue<State> frontier;
frontier = new PriorityQueue<State>(new CostComparator());
PriorityQueue<State> visited;
visited = new PriorityQueue<State>(new CostComparator());
有人能告诉我为什么会这样吗?
我在 32 位环境中使用所有东西,但没有任何效果..