当前位置: 代码迷 >> J2SE >> 数目字统计
  详细解决方案

数目字统计

热度:103   发布时间:2016-04-24 00:32:59.0
数字统计
文件out.txt中内容:
2765<6720<2765
1236===1236===1236
2678---------0267-----0256
567 / 12679 / 2457
2567/4579/4578

请编写程序,统计每个数字0~9文件中出现的次数。
结果如下:
文字出现了5行
0出现3次
1出现4次
2出现12次
3出现3次
4出现3次
5出现8次
6出现12次
7出现11次
8出现2次
9出现2次


------解决方案--------------------
Java code
import java.io.*;public class Counter {    public static void main(String[] args) throws Exception {        InputStream in = new FileInputStream(new File("out.txt"));    BufferedReader reader = new BufferedReader(            new InputStreamReader(in));        String line;    int[] counters = new int[10];    int lineCounter = 0;    while( (line = reader.readLine()) != null ) {            lineCounter++;      count(line, counters);    }        System.out.println("文字出现了" + lineCounter + "行");    for(int i=0; i<counters.length; i++) {            System.out.printf("%d出现%d次\n", i, counters[i]);    }        reader.close();    in.close();  }    private static void count(String line, int[] counters) {        for(int i=0; i<line.length(); i++) {            char c = line.charAt(i);      if( Character.isDigit(c) )        counters[c - '0']++;    }  }}
  相关解决方案