读取一个txt文件,打印每一行数据出现的次数;并按照次数多少进行排序,然后打印出来。
txt中数据格式如下:1.张三,282.李四,233.王五,564.周四,455.张三,386.王五,567.王五,568.张三,289.张三,28也就是说最后要实现:张...
txt中数据格式如下:
1.张三,28
2.李四,23
3.王五,56
4.周四,45
5.张三,38
6.王五,56
7.王五,56
8.张三,28
9.张三,28
也就是说最后要实现:
张三,28 4次
王五,56 3次
李四,45 2次
1.张三,28
8.张三,28
9.张三,28
5.张三,38
6.王五,56
7.王五,56
3.王五,56
4.李四,45
2.李四,45 展开
1.张三,28
2.李四,23
3.王五,56
4.周四,45
5.张三,38
6.王五,56
7.王五,56
8.张三,28
9.张三,28
也就是说最后要实现:
张三,28 4次
王五,56 3次
李四,45 2次
1.张三,28
8.张三,28
9.张三,28
5.张三,38
6.王五,56
7.王五,56
3.王五,56
4.李四,45
2.李四,45 展开
1个回答
展开全部
lz 你好
具体代码如下:
import java.io.*;
import java.util.*;
public class Test{
private BufferedReader br;
private ArrayList<String> all;
private TreeSet<String> sub;
private String[] subStr;
private int[] count;
public Test(){
try {
br = new BufferedReader(new FileReader(new File("info.txt")));
all = new ArrayList();
sub = new TreeSet();
subStr = new String[3];
count = new int[3];
}
catch (Exception ex) {
}
}
//读数据
public void readData(){
int i=0;
String index = null;
try {
while((index = br.readLine()) != null){
all.add(index);
if(!sub.contains(index.substring(2))){
sub.add(index.substring(2));
count[i] = 1;
subStr[i++] = index.substring(2);
}
else{
for (int j = 0; j < i; j++){
if(subStr[j].equals(index.substring(2))){
count[j]++;
break;
}
}
}
}
}
catch (Exception ex) {
}
}
//排序
public void sort(){
for (int i = 0; i < subStr.length-1; i++) {
for(int j = i+1; j < subStr.length; j++){
if(count[i] < count[j]){
int tt = count[i];
count[i] = count[j];
count[j] = tt;
String tmp = subStr[i];
subStr[i] = subStr[j];
subStr[j] = tmp;
}
}
}
}
//输出
public void output(){
for (int i = 0; i < subStr.length; i++) {
System.out.println (subStr[i] + "\t" + count[i] + "次");
}
System.out.println ();
for (int j = 0; j < subStr.length; j++) {
for(String inx:all){
if(inx.substring(2).equals(subStr[j])){
System.out.println (inx);
}
}
}
}
public static void main (String[] args) {
Test t = new Test();
t.readData();
t.sort();
t.output();
}
}
运行结果:
张三,28 4次
王五,56 3次
李四,45 2次
1.张三,28
5.张三,28
8.张三,28
9.张三,28
3.王五,56
6.王五,56
7.王五,56
2.李四,45
4.李四,45
(ps:info.txt文档应该和源文件在同目录下 否则不能读取到txt文档)
希望能帮助你哈
追问
你好,很感谢,写的很规范。
能否写下编程的思路。
new FileReader(new File("info.txt"))变成new FileReader("info.txt"),也可以呀。
我运行了下你的程序,运行结果是。麻烦再排下错哇。
张三,28 1次
李四,45 1次王五,56 1次
张三,28
李四,45
王五,56
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询