java - TynyVM 与 LegOS 配合使用时出现异常

标签 java queue priority-queue lego-mindstorms

所以我正在使用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 位环境中使用所有内容,但没有任何效果..

最佳答案

希望这对将来的引用有所帮助,lejOS的运行时库不支持优先级队列类,仅支持队列,所以我必须用这个库实现我自己的队列。

关于java - TynyVM 与 LegOS 配合使用时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40643548/

相关文章:

javascript - 如何从 JavaScript 中的 fx 队列中删除 slideUp() slideDown()?

c - 入队函数仅在第二次迭代时覆盖第一个条目

Java - 创建文件读取器和输出的实例

java - SWIG 和 Java 使用 carrays.i 和 array_functions 表示 C 字符串数组

Java + HtmlUnit WebClient + SSL 页面

java - 或者同时使用 "like"和 "line break"和 "case insensitive"从 java 查询 mongodb

c++ - 为什么 std::queue 没有 operator[]?

c++ - 优先级队列 - 它内部如何工作?

node.js - 如何中止公牛队列中的特定任务?

java - 请求带有斜杠的映射占位符