20162303 结对编程-马尔可夫链-自动生成短文

结对编程-马尔可夫链-自动生成短文

结对伙伴:20162307 张韵琪

需求分析

1.通过“学习”一篇文章后,随机输出新的文章。
参考资源:《瓦尔登湖》
2.仅考虑英文输入输出
3.从文件读入待”学习“文章
4.能处理标点符号
5.能控制输出文章的篇幅
6.通过参数指定输出的单词数
7.误差控制
生成的语句要能完整结束(比如遇到句号、问号、感叹号等结束标志)。
为了能实现上述条件,允许输出的单词数量误差 ±50。
避免环

实现过程中的关键代码解释

读入文章,生成的文章要依据此文章改进

    Chain chain = new Chain ();
    int nwords = Integer.parseInt ( args[0] );
    FileInputStream fis = new FileInputStream ( new File ( "C:\Users\think\Desktop\syx.txt" ) );
    //要读入的文章,之后生成的文章要依据此文章改进
    chain.build ( fis );
    chain.generate ( nwords );
}

储存生成的文章

     public void generate(int nwords) throws IOException {
        FileWriter fw = new FileWriter("C:\Users\think\Desktop\qq.txt");//生成的文章储存在qq.txt中
        prefix = new Prefix(NPREF,NOWORD);
        for(int i=0; i<nwords; i++){
            List<String> suf = stateTable.get(prefix);
            int r = Math.abs(random.nextInt() % suf.size());
            String word = suf.get(r);
            if(word.equals(NOWORD)){
                break;
            }
            System.out.print(word+" ");
            if (word.equals(".")){
                fw.write("\n");
            }
            else
                fw.write(word+" ");
            prefix.pref.remove(0);
            prefix.pref.add(word);
        }
        fw.close();

运行过程截图

1064441-20170625225248757-101282083.jpg
这个是我的截图,下面为伙伴的截图
1064441-20170625223515085-136477751.png

代码在伙伴的电脑上能分行,在我的idea上就无法正常分行,目前还没找到原因。

代码托管地址

遇到的困难及解决方法

时间比较紧急,因此基本只进行了粗略的考虑,没有规划具体,出现了许多的漏洞,结尾的标点,分段问题都没有注意。
代码在伙伴的电脑上能分行,在我的idea上就无法正常分行,目前还没找到原因。

对结对的小伙伴做出评价(重点指出需要改进的地方)

我和我的结对伙伴是室友,整个结对过程都是坐在一起,面对面的进行讨论与修改,互相指出对方的错误,提出新的思路与想法,修改了许多bug。

PSP

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3030
· Estimate· 估计这个任务需要多少时间610920
Development开发5040
· Analysis· 需求分析 (包括学习新技术)3020
· Design Spec· 生成设计文档3050
· Design Review· 设计复审 (和同事审核设计文档)60100
· Coding Standard· 代码规范 (为目前的开发制定合适的规范)1010
· Design· 具体设计10090
· Coding· 具体编码100300
· Code Review· 代码复审3060
· Test· 测试(自我测试,修改代码,提交修改)3090
Reporting报告6060
· Test Report· 测试报告3030
· Size Measurement· 计算工作量2020
· Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划3020
合计610920

转载于:https://www.cnblogs.com/syx390234975/p/7078313.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值