小编ivt*_*ivt的帖子

在处理列表时,Prolog中的" - "符号是什么意思?

我正在读这个问题的答案,

p(X) :- read(A), q(A,X-[]).

q(end,X-X) :- !.    
q(A,[A|X]-Y) :- read(B), q(B,X-Y).
Run Code Online (Sandbox Code Playgroud)

上面的代码使用语法List-List.我有点理解发生了什么,但我想知道" - "符号/谓词到底是做什么的.此外,这个SWI是否具体?

prolog dcg difference-lists prolog-cut

9
推荐指数
1
解决办法
275
查看次数

Java:如何修改控制台输出?

我需要编写一个简单的基于终端的程序,它应该,

  1. 使用包装在 BufferedReader 中的 FileReader 从文件中读取一些文本。
  2. 将此文本打印到控制台,用户应该能够修改它。
  3. 按 Enter + S 后,程序应读取修改后的文本并将其保存回原始文件。

总而言之,这个想法是为没有 GUI 的类 Unix 环境编写一个文本编辑器。

但是,我在第 2 步和第 3 步中遇到了问题。

  1. System.out 打印的所有文本都是不可变的。我怎样才能改变这种行为?

  2. 如何为 Enter + S 实现按键监听器。我可以使用 GUI 轻松实现,但是在基于控制台的程序中如何添加监听器?在 Enter 上,程序应该简单地向修改后的文本添加一个新行。另外,如何阅读已打印到终端的文本?

PS 我必须使用 JDK 1.4,因此如果相关,则无法访问 Scanner 和 Console 类。我也认为这样的任务在 Java 中是不可能完成的,所以你可以在 C/C++ 中提出一个解决方案。毕竟,他们在 MS-DOS 时代以某种方式做到了。

谢谢!

java console command-line

3
推荐指数
1
解决办法
3723
查看次数