从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数
一些经验总结:
1.对于读取文件,大家要熟记BufferedReader类,他可以一次读取一行,在很多的笔试题会遇到这样的例子,但是判断读取结束的标志并不是我们平时所见的-1,而是null。
2.可以利用集合进行简化代码,比如list元素可以重复,但是set的元素不可以重复等
package com.hbut.test;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ReadName {
/**
* 1、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序
* name.txt文件内容如下
* 1,张三,28
2,李四,35
3,张三,28
4,王五,35
5,张三,28
6,李四,35
7,赵六,28
8,田七,35
*/
public static void main(String[] args) throws IOException {
//使用BufferedReader一次可以读取一行,判断是否为结尾用null判断
BufferedReader bf = new BufferedReader(new FileReader("names.txt"));
String str= bf.readLine();
List<String> names = new ArrayList<String>();
while(str!=null){ //1,张三,28
String []st=str.split(",");
names.add(st[1]);//只把姓名添加进去就可以了
str= bf.readLine();
}
Set<String> name =new HashSet<String>(names); //[赵六, 张三, 田七, 李四, 王五]
//由于set集合是不允许有重复的元素的,所以可以用set集合去重
for(String set :name){
String temp=set;
int num=0;
for(String s : names) //list集合里有很多重复的。对每次迭代的元素,要是次数大于2就表示重复
{
if(temp.equals(s)){
num++;
}
}
if(num>=2){
System.out.println(temp+"重复次数:"+num);
}
}
}
}
输出结果:
张三重复次数:3
李四重复次数:2
从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数相关推荐
- java从文本中读取,从Java中的文本文件中读取long类型
我试图从BufferedReader类的readLine()方法从文本文件中读取长类型,然后我使用StringTokenizer解析第一个标记(这是长类型编号),但我面临的异常错误是java.lang ...
- Java中从指定文本文件中读取内容,并显示到屏幕上。
[问题描述]从指定文本文件test.txt中读取内容,并显示到屏幕上. [输入形式]当前目录下的文本文件 test.txt ,内容可能如下: 在完成这个问题的过程中学到了很多,比如相对路径与绝对路径的 ...
- python读取txt文件代码-从文本文件中读取Python代码
I am trying to use the contents of a text file as Python code e.g. if I write import sys in a text f ...
- c语言读取网页文本内容,从文本文件中读取数据
请问如何用c语言从txt文件中读取数据? 请问如何用c语言从txt文件中读取数据? 就是用空格分开的数据,例如:12//其中的in.txt就是你要读取数据的文件,当然把它和程序放在同一目录 - #in ...
- java 文件读取 逗号分隔_如何从Java中的文本文件中读取逗号分隔值?
我有这个文本文件,其中包含地图上不同点的纬度和经度值. 我如何将我的弦乐分成纬度和经度?与其他分隔符(如空格或制表符等)一起执行这些类型的事物的一般方法是什么? 样本文件: 28.5150462805 ...
- python读取用空格分隔的文字_Python:从类似readlin的文件中读取空格分隔的字符串...
您需要创建一个包装函数:这非常简单:def read_by_tokens(fileobj): for line in fileobj: for token in line.split(): yield ...
- RTThread 操作系统中,编译出的程序为什么能打印出当前时间?
## 1. 做实验引发的思考 在之前学习RT-Thread操作系统时,我发现一个比较有趣的现象: 串口打印的日志中竟然包含着当前时间!并且,我每天做实验时,这个日期都会变化,还能保持和当前时间一致! ...
- java 只显示文本文件_Java设计并实现一个应用程序,能够读取一个文本文件中的内容并显示,同时能够计算出文本中的行数。...
展开全部 java编写显示文本的应用程序, 需要用到图形界面GUI编程技术. 步骤一: 需要搭建一个整体的外观32313133353236313431303231363533e4b893e5b19e3 ...
- java取文本首位_java – 从文本文件中读取的第一个字符:[复制]
参见英文答案 > Java read file got a leading BOM [  ] 6个 如果我写这段代码, ...
最新文章
- php getconfig,PHP: tidy::getConfig - Manual
- SilhoNet:一种用于3D对象位姿估计和抓取规划的RGB方法
- 计算机视觉>>PCV安装和使用
- SUN平台,光纤共享存储互斥失败导致的数据灾难恢复
- ImageView 缩放
- 关于华为x2中的外置SDCard的使用
- Inchat时代真的来了?上线一周突破百万用户
- 「Apollo」Cyber RT 学习笔记
- 第46讲:遇到动态页面怎么办?详解渲染页面爬取
- 使用fn函数控制页面显示内容
- 第十一期:30秒内便能学会的30个实用Python代码片段
- 解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题
- 备份linux分区到usb,将Linux引导加载程序备份到USB的方法
- 瑞幸咖啡退市成定局:董事长被要求辞职,新店却仍在扩张
- 计算机不属于发明保护客体,如何判断两种类型的计算机程序发明能否成为专利保护客体?...
- 一致性hash算法学习
- 使用Visual Studio进行单元测试-Part4
- SLAM算法开发中,C++编程+多节点的正确调试方法
- 江南大学 超级计算机,2012年暑期学校22-过程之旅--江南大学 李婷
- 机器人运动估计——IMU运动方程与ESKF原理介绍(上)
热门文章
- 14.count-api
- 12.suggest_type
- 题意解读+详细题解-Leecode 319. 灯泡开关——Leecode每日一题系列
- 22行代码AC——习题5-6 对称轴(Symmetry,UVa1595)——解题报告
- flask执行python脚本_如何在Flask中运行python脚本
- php识别名片,用户信息名片怎么利用PHP实现自动生成
- Mybatis-generator逆向生成运行正常,但没有生成任何文件
- K8S——单master节点和基于单master节点的双master节点二进制部署(本机实验,防止卡顿,所以多master就不做3台了)
- RT-Thread工程代码框架分析——(1)启动流程
- mysql数据库内置函数大全_MySQL数据库——内置函数