博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第四周作业2.2
阅读量:5217 次
发布时间:2019-06-14

本文共 3521 字,大约阅读时间需要 11 分钟。

[实验任务二]:递归方法(1)    使用递归方式判断某个字串是否是回文( palindrome );“回文”是指正着读、反着读都一样的句子。比如“我是谁是我”使用递归算法检测回文的算法描述如下:A single or zero-character string is a palindrome.Any other string is a palindrome if the first and last characters are the same, and the string that remains, excepting those characters, is a palindrome.
package first;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;/* * 使用递归方式判断某个字串是否是回文( palindrome ) * 从文件中读入 */public class palindrome {         public static void main(String[] args) throws IOException {        String url = "Text1.txt";        File file = new File(url);// 指定操作文件        if (!file.exists() || file.isDirectory()) {            System.out.println("文件不存在!");            return;        } else            System.out.println("文件导出成功");        StringBuffer sb0 = new StringBuffer();        BufferedReader br;        try {            br = new BufferedReader(new FileReader(file));            String temp = null;            //sb = new StringBuffer();            temp = br.readLine();            while (temp != null) {                sb0.append(temp + "\r");                temp = br.readLine();            }        } catch (Exception e) {            e.printStackTrace();        }        String sb = sb0.toString();        boolean flag = find(sb,0,sb.length());                System.out.println(flag);    }     private static boolean find(String sb, int start, int length) {                if(length<=1)            return true;        else if(sb.toCharArray()[start]==sb.toCharArray()[length-1]){            return find(sb,start+1,length-1);        }        return false;    }}

[实验任务三]统计分析

1)  用户需求:英语的26 个字母的频率在一本小说中是如何分布的?某类型文章中常出现的单词是什么?某作家最常用的词汇是什么?《哈利波特》 中最常用的短语是什么,等等。

(2)  要求:输出单个文件中的前 N 个最常出现的英语单词,并将结果输入到文本文件中。

package pinlv;import 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.TreeMap;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Pinlv {    public static void main(String[] args) throws Exception {        BufferedReader reader = new BufferedReader(new FileReader("D:\\wenzhang.txt"));        StringBuffer buffer = new StringBuffer();        String line = null;        while ((line = reader.readLine()) != null) {            buffer.append(line);        }        reader.close();        Pattern expression = Pattern.compile("[a-zA-Z]+");        String string = buffer.toString();        Matcher matcher = expression.matcher(string);//        Map
map = new TreeMap
(); String word = ""; int times = 0; while (matcher.find()) { word = matcher.group(); if (map.containsKey(word)) { times = map.get(word); map.put(word, times + 1); } else { map.put(word, 1); } } List
> list = new ArrayList
>(map.entrySet()); Comparator
> comparator = new Comparator
>() { public int compare(Map.Entry
left,Map.Entry
right) { return (left.getValue()).compareTo(right.getValue()); } }; Collections.sort(list, comparator); int last = list.size() - 1; for (int i = last; i > last - 6; i--) { String key = list.get(i).getKey(); Integer value = list.get(i).getValue(); System.out.println(key + " :" + value); } }}

 

转载于:https://www.cnblogs.com/daisy99lijing/p/9787251.html

你可能感兴趣的文章
YII缓存依赖的应用
查看>>
决策树在机器学习的理论学习与实践
查看>>
Biee 11g权限详解
查看>>
minggw 安装
查看>>
Jquery操作cookie,实现简单的记住用户名的操作
查看>>
[BZOJ1196][HNOI2006]公路修建问题 二分答案+最小生成树
查看>>
PHP基础入门(二)
查看>>
[Luogu P3119] [USACO15JAN]草鉴定Grass Cownoisseur (缩点+图上DP)
查看>>
【原创】大数据基础之Zookeeper(4)应用场景
查看>>
18款在线代码片段测试工具
查看>>
20.C++- &&,||逻辑重载操作符的缺陷、,逗号重载操作符的分析
查看>>
静态变量数组实现LRU算法
查看>>
在SQL中怎么把一列字符串拆分为多列
查看>>
中文系统 上传file的input显示英文
查看>>
css样式写一个三角形
查看>>
比callback更简洁的链式执行promise
查看>>
android permission
查看>>
javascript获取textarea中所选文本的开始位置、结束位置和选择的文本
查看>>
【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
查看>>
事务备份还原分离附加
查看>>