文件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']++; } }}