我有一个程序,我正在试图为一个马尔可夫文本生成器。我打算按设定的时间间隔分割一些文本,然后将其存储到一个类中。我不知道如何解决的问题是如何处理我将要创建的类的实例。我正计划在for循环中生成实例。用户将传递一定数量的文本(其长度事先不知道)。下面的伪代码:Java:如何思考建模马尔可夫链?
create vector for sets and tail letter;
for (int c = 0; c < text.length; c++) {
Check to make sure overflow doesnt happen;
Create instance of set named c;
store set and tailLetter into vector;
}
public class set {
String characters;
char tailLetter;
}
对不起,如果这还不够清楚。我自学Java,这是我在这里的第一篇文章。
你的意思是“将文本存储到类中”是什么意思?另外,你的意思是“你将要制作的课程的实例”是什么?你打算*动态生成Java代码并在运行时编译它*?我想说这可能对马尔可夫链类有点过分。 – Cheeso 2011-04-28 21:37:25
我将根据用户输入的整数将文本拆分为块。我需要存储这些块,大块后面的字母,以及文本中出现块和字母的频率。由于我不知道传递的文本的长度,因此我无法为每个可能创建的实例创建名称。我现在仍然在纸上工作,但我遇到了障碍 – Gilbrilthor 2011-04-28 22:03:28
啊,好的,那么你有两项任务。首先是如何设计数据结构来保存所有信息(块和频率等),第二是如何填充给定种子文本的数据结构。你想要某种“集合类”来保存数据http://download.oracle.com/javase/tutorial/collections/index.html;您将不需要动态生成类或变量的名称。为了在Java中有效,你不仅要熟悉语法(curlies,分号等),而且还要熟悉已有的构建块,比如Java内置类库中的类。 – Cheeso 2011-04-28 23:25:03