第一次实训

1.码云地址:https://gitee.com/bhma/first_training/tree/master

小组成员:

16012115 白惠民(领航员)

16012122 齐洪飞(驾驶员)

2.我们编程时候的图片:

3.我们选择的是第二道题:

2.词频统计(引自东北师范大学杨贵福老师)

老五在寝室吹牛他熟读过《鲁滨逊漂流记》,在女生面前吹牛热爱《呼啸山庄》《简爱》和《飘》,在你面前说通读了《战争与和平》。但是,他的四级至今没过。你们几个私下商量,这几本大作的单词量怎么可能低于四级,大家听说你学习《构建之法》,一致推举你写个程序名字叫wf,统计英文作品的单词量并给出每个单词出现的次数,准备用于打脸老五。

希望实现以下效果:

  • 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符。
  • 2.统计英文单词在本文件的出现次数
  • 3.将统计结果排序
  • 4.显示排序结果

解题思路:最开始看到的时候觉得这道题会好做一些,我们想着要把它分解一下,有遍历文件的,有查看那个单词重复的,后来又想着要怎么读取出来,有了思路就要一步一步去实现,但是我俩的能力对这道题还是有点差距,又问的其他同学, 才解出来。

程序代码:

mport java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
public class wf {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new FileReader("F:\\16012115\\daima.txt"));
        List<String> lists = new ArrayList<String>();
        String readLine = null;
        while((readLine = br.readLine()) != null){
            String[] wordsArr1 = readLine.split("[^a-zA-Z]");
            for (String word : wordsArr1) {
                if(word.length() != 0){
                    lists.add(word);
                }
            }
        }
        br.close();
        Map<String, Integer> wordsCount = new TreeMap<String,Integer>();
        for (String li : lists) {
            if(wordsCount.get(li) != null){
                wordsCount.put(li,wordsCount.get(li) + 1);
            }else{
                wordsCount.put(li,1);
            }
        }
        SortMap(wordsCount);
    }
    public static void SortMap(Map<String,Integer> oldmap){  

        ArrayList<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(oldmap.entrySet());
        Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){
            public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
                return o2.getValue() - o1.getValue();
            }
        });
        for(int i = 0; i<list.size(); i++){
            System.out.println("单词是"+list.get(i).getKey()+ ",个数为"+list.get(i).getValue()+"个");
        }
    }
}

上面的代码中我们对结果进行了从大到小的排列顺序,我们对单词进行了统计。

4.本次结果运行图:

5.小结:我觉得真应该有1+1>2的效果,毕竟一个人的学习是无聊的,虽然我旁边是洪飞,但是在我没思路的时候他也会给我一些想法,他敲代码的同时我也会给他带一点点惊喜,总之多人的力量总是比一个人大的,我就是那种不喜欢一个人学习的人,多一个人多一点温暖。

6.“汉堡包评价”

我的队友是齐鸿飞,我觉得他会是汉堡包当中的青菜,不是那么的令人喜欢,但是缺他也是万万不可。他总会给我带来不同的思路,比如说:在我思考怎样把文件遍历的时候,他会想怎么查找单词个数。但是齐同学总爱开小差,望下次改进!

原文地址:https://www.cnblogs.com/bhma/p/10114130.html

时间: 2024-07-31 16:43:19

第一次实训的相关文章

java第一次实训

1.编写程序: 声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果. public class shixun1 { public static void main(String[] args) { int a=5; if(a%2==0) { System.out.println("a是偶数");} else{ System.out.println("a是奇数");} } } 2.编写程序:从键盘输入圆的半径,计算圆的面积并输出. imp

实训团队心得(1)

这次实训我们团队做的是J2EE项目,在这次项目中,我们需要搭建的是一个基于SSH2框架的关于学校教室资源分配的系统.在这次项目中,我第一次尝试担当项目开发团队的负责人. 由于团队是第一次进行合作,因此在各个方面都显得不太成熟,如组织.讨论等等方面.下面是自己在担当负责人的一些心得,以备后用: 1)关于团队学习 在这次项目中,团队在遇到J2EE的相关知识时,有点慌乱,因为大家都不知道应该从哪方面对J2EE这种了解过得技术进行学习.结果在项目准备阶段中,大家都是在研究J2EE的结果以及相关配置.结果

HTML+CSS网站实训项目总结

  学完HTML+CSS,迎来的最重要的是网站实训和答辩的准备.          第一次的项目分配,因剪刀石头布的手气,得到第二名的机会,却实在不怎么了解各个网站,(当然除了最熟悉的淘宝),选择了组员的要求——国美在线.          国美在线,是国美电器唯一官方商城,中国领先的专业家电网购平台.          这是第一次做的团队小项目,也是第一次以组长的身份和组员进行磨合和合作.          于组长的身份,这是最大的感受除了开始拿到项目的时候的小小激动,就是怕分工不恰当和组织不

安卓实训第九天---Activity的复习以及在Onstart里设置网络连接

今天,首先对Activity的生命周期进行复习: (下面的截图部分是借鉴自赵雅智老师的博客...) Activity的完整生命周期自第一次调用onCreate()开始,直至调用onDestroy()为止.Activity在onCreate()中设置所有"全局"状态以完成初始化,而在onDestroy()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程,而在 onDestroy()销毁线程. 刚进入activity: 按

Android基础知识【项目实训】【2】

[该项目实训是Android基础知识的一个综合练习,特别提示:项目中会用到一些图片素材,都是随意整理的,稍后会上传一个资源,包含该事项项目的基本功能,也含有图片素材] [项目题目]:校园订餐App设计 综合案例 [目标] 因为项目只涉及基础知识,因此项目中所用数据并不联网,都读取单机数据库.(即将该项目中所用数据,如菜品信息.店铺信息等存入数据库)用户在第一次打开该项目时,会在用户手机上创建这些数据库,并插入测试数据. 1.先制作一个欢迎界面,欢迎的同时,准备数据库 欢迎界面Activity对应

短学期实训——第一篇

短学期的第一天,东软的李老师让我们安装两个环境,在安装过程当中,虽然遇到很多的小困难,老师还是 耐心的为我们每位同学解决困难. , 终于在下午我们完成了第一项任务 在第二天我们 开始编写程序 虽然在运行过程中我们每个人的编辑环境都出现了问题,但是在老师的耐心指导下我们终于将此环境运行成功 利用这三天的时间,我深刻体会到了用户的体验,我们所编写的软件是针对用户而言的,我们应当 考虑到用户体验的各种角度,首先就是用户的第一印象,在这里我们要考虑以下两点,第一点就是谁会是我们的目标用户,第二点就是用户

网络实训——服务器应用系统的实践

1 设计内容与设计要求 1.1设计内容 课题10:服务器应用系统的实践 服务器指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器.数据库服务器和应用程序服务器.运行以上软件的计算机或计算机系统也被称为服务器. 实训内容: (1)搭建简单的三层局域网环境 (2)部署Web服务器,并创建简单网页 (3)部署DNS服务器,并对Web服务器做域名解析 (4)部署DHCP服务器,对终端电脑实现动态IP获取 (5)部署FTP服务器,使终端电脑能访问并存储文件 (6)完成测试并写出详细课设报告 1

安卓实训第八天----Activity的生命周期

一.Activity的使用: package com.example.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class FirstActivity exte

Java程序设计综合项目实训二——博客三

JAVA学习总结 很快,已经经历了一学期的JAVA编程的学习,但是仔细一想,我所学到的和本应该能得到的一比少之又少:但是起初我并不是这么想的,在C和Python都没有学的很好的前车之鉴下,我本想杀下心好好地去学一学郑老师所教授的JAVA这门编程课程,可能本身对语言之类的学习并不是很感兴趣,导致了在大学中和编程有关的学习中,对知识的掌握都不尽人意.以下是我对本学期的学习结果的一些感悟: 1.态度很重要 在前几次课的时候我还能听进去一些,但是越往后面,听得越少,开始产生一些对JAVA的抵触吧,认为太