关于英文文章统计字母单词百分比代码问题总结

代码在此处

第一阶段:输出某个英文文本文件中 26 字母出现的频率 - zrswheart - 博客园 (cnblogs.com)

第二阶段:输出单个文件中的前 N 个最常出现的英语单词 - zrswheart - 博客园 (cnblogs.com)

 

问题一:找不到英文文章文件

在一开始输入文章地址这个地方的时候

 

输入的是D盘某某文件夹然后就会报错

最直接简单的解决方法:

 

 直接把TXT文件放在src文件夹下面,注意设置名称为英文不容易报错,然后可能会出现乱码的情况,那就是自己的编辑器的问题,在设置里面设置一下即可

 

 

问题二:split 方法

 

 

将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

1.按空格分开
public static void main(String[] args) {
String a = "hello world wk";
String[] a1 = a.split(" ");
System.out.println("a1-->"+Arrays.toString(a1));
}
结果是:a1-->[hello, world, wk]

2.按 | 隔开
String a1="北京|北京市|海淀区|科技大厦";
String[] splitAddress=a1.split("\\|");
System.out.println(Arrays.toString(splitAddress));
结果是:[北京, 北京市, 海淀区, 科技大厦]

3按*隔开
String a1="北京*北京市*海淀区*科技大厦";
String[] splitAddress=a1.split("\\*");
System.out.println(Arrays.toString(splitAddress));
结果是:[北京, 北京市, 海淀区, 科技大厦]

4.按@隔开
String a1="北京@北京市@海淀区@科技大厦";
String[] splitAddress=a1.split("@");
System.out.println(Arrays.toString(splitAddress));
结果是:[北京, 北京市, 海淀区, 科技大厦]

二。多个标记隔开
String a1="北京^北京市@海淀区#科技大厦 wk";
String[] splitAddress=a1.split("\\^|@|#| ");
System.out.println(Arrays.toString(splitAddress));
结果是:[北京, 北京市, 海淀区, 科技大厦, wk]

三。split里面的limit用法,
就是把字符串分成几段。
limit参数指定几个,输出几个,最多为 8 个

String a1="北京 北京市 海淀区 科技大厦 wk";
String[] str=a1.split(" ",3);
System.out.println(Arrays.toString(str));
结果是:[北京, 北京市, 海淀区 科技大厦 wk]

总结:
(1)split表达式,其实就是一个正则表达式。 ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\加以转义*。
(2)如果使用多个分隔符则需要借助 | 符号

 

问题三:增强for循环

 

 for(数据类型 变量名 : 数组或者集合对象)

而图中的这一句for(Map.Entry<String, Integer> map : list) 就是直接输出已经转成list型的所有值

该方法在第一阶段的代码中输出所有字母的比例很合适

如下图

 

但是在阶段二中输出固定输入的N个单词就不适用

于是我在内层加了一个计数器i

 

 就可以控制啦

 

 

 

 

posted @   zrswheart  阅读(81)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示