2016-11-16 3 views
0

so arbeite ich mit LegOS (die kleinen Legos Roboter) und im Grunde, was ich tue ist eine Lösung zu einem Labyrinth mit A * und ich will das verwenden, um den Roboter zu sagen, wohin zu bewegen um das Labyrinth herum.TynyVM Ausnahme arbeitet mit legOS

Aber das Problem, das ich habe ist, die, dass, wenn ich versuche, die priotiry Warteschlange zu initiieren es gibt mir diese Ausnahme

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 

ich mit den Prioritätswarteschlangen wissen, ist, weil ich diese Zeilen haben kommentiert und die Programmverknüpfungen erfolgreich

hier, wo ich anfangen, die Warteschlangen

PriorityQueue<State> frontier; 
    frontier = new PriorityQueue<State>(new CostComparator()); 
    PriorityQueue<State> visited; 
    visited = new PriorityQueue<State>(new CostComparator()); 

mir jemand sagen kann, warum dies geschieht?

Ich verwende alles in 32-Bit-env und nichts funktioniert ..

Antwort

0

Hope this für die Zukunft hilft, wird die Laufzeitbibliothek für leJOS nicht Priority Queue-Klasse unterstützen, nur Warteschlange so musste ich meine implementieren eigene Warteschlange mit dieser Bibliothek.