当前位置: 首页 > 面试题库 >

Java的JESS输出

唐威
2023-03-14
问题内容

我想向Java中的JESS文件发送“事实”,并返回结果。我基本上是批处理JESS文件,然后通过.add()将我的数据(此处的结构)发送到引擎中。我试图将JESS结果(应该是字符串)放入“值”中。

Rete engine = new Rete();
engine.batch("file.clp");
Value = AAAnull;
try{
   engine.add(structure)
   AAA = engine.eval("(run)");
   } catch ...

System.out.println(AAA);

结果始终是一个数字,尽管结果应该是一个字符串。我已经在一个简单的Java项目中解决了问题,AAA返回了字符串,但是在这里不起作用。


问题答案:

(run)函数返回触发的规则数;那就是你在这里看到的号码。

运行程序的真正结果是它引起的副作用。在Java中获得结果取决于您期望的副作用。这可能意味着任何事情,包括收集打印到屏幕上的输出,在工作内存中查找新创建的事实,或者让Jess程序调用影响外部世界的Java方法。没有看到内容,file.clp我无法说出您的期望,但是列出的所有这些内容都在Jess手册中介绍了;上面的短语是指向相应部分的链接。我很高兴回答您可能遇到的任何后续问题。



 类似资料:
  • Jess 是一个用Java编写的快速的规则引擎。 Jess 是完全由 Java 语言编写的规则引擎和脚本环境,由加利福尼亚州利弗莫尔市 Sandia 国家实验室的 Ernest Friedman-Hill编写。使用 Jess,您可以使用声明式规则形式提供的知识来构建具有“推理”能力的 Java 软件。Jess 体积小,重量轻,并且是最快的规则引擎之一。它强大的脚本语言使您可以访问所有 Java A

  • 本小节将会介绍基本输入输出的 Java 标准类,通过本小节的学习,你将了解到什么是输入和输入,什么是流;输入输出流的应用场景,File类的使用,什么是文件,Java 提供的输入输出流相关 API 等内容。 1. 什么是输入和输出(I / O) 1.1 基本概念 输入/输出这个概念,对于计算机相关专业的同学并不陌生,在计算中,输入/输出(Input / Output,缩写为 I / O)是信息处理系

  • 问题内容: 我下面有以下代码示例。你可以在其中输入的命令,即回显结果。但是,先读后。其他输出流不起作用? 为什么会这样或我做错了什么?我的最终目标是创建一个线程计划任务,该任务定期执行对/ bash的命令,因此必须一前一后工作,而不能停止工作。我也一直在经历错误的任何想法? 谢谢。 问题答案: 首先,我建议更换生产线 与线 ProcessBuilder是Java 5中的新增功能,它使运行外部进程更

  • 问题内容: 有没有人有创建Java中的管道对象,任何好的建议 是 从Java既是一个InputStream和和OutputStream没有多重继承和两个流是抽象类,而不是接口? 基本需求是有一个可以传递给需要InputStream或OutputStream的对象的对象,该对象需要将一个线程的输出传递给另一个线程的输入。 问题答案: 看来这个问题的重点已被遗漏。如果我对您的理解正确,那么您希望一个对

  • 我想用java代码调用一个外部程序,然后Google告诉我Runtime或ProcessBuilder可以帮助我完成这项工作。我试过了,结果发现java程序无法退出,这意味着子进程和父进程都将永远等待。它们要么挂起,要么陷入僵局。 有人告诉我原因是子进程的缓存太小了。当它试图将数据返回给父进程时,但是父进程没有及时读取它,然后他们两个都挂起了。所以他们建议我叉一个线程来负责读取子进程的缓存数据。我

  • 说明如下: 要处理事务,您需要从transactions.txt文件中一次读取一行,并解析检索到的字符串。您可以为此使用Scanner类。分隔符将是冒号。然后处理交易;您不需要检查交易类型。只需将交易金额添加到支票簿余额中即可。增加一个负交易金额会像预期的那样减少余额。确保在适当的地方使用try/catch块。 处理完每个事务后,调用animate方法。此方法属于Accounting类,因此您将在