首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

一个下机题

2012-10-30 
一个上机题输入:一个txt文本文件输出:字数总数排序后再输出例如:文本的内容是:我爱大海,我爱蓝天输出:字数

一个上机题
输入:一个txt文本文件
输出:字数总数
      排序后再输出
例如:文本的内容是:我爱大海,我爱蓝天
输出:字数总数是:6
       排序后:出现1次:大 海 蓝 天
               出现2次:我 爱
怎么实现呢?
急~~~~~~~~~~~~~~~~~~~~

感觉这题完全是考API...

感觉这题完全是考API...
仁者见仁,智者见智
如果用shell作
每个字后加个回车
package com.ib.test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.Scanner;public class TestPool {public static void main(String[] args) throws FileNotFoundException{Scanner scan=new Scanner(new FileInputStream("f:/test.txt"));CharacterPool pool=new CharacterPool();while(scan.hasNextLine()){for(Character c:scan.nextLine().toCharArray()){pool.write(c);}}System.out.println("字数总数是:"+pool.getCountSize());int i=1;do{System.out.print("出现"+i+"次:");System.out.println(pool.toString());pool=pool.getNext();i++;}while(pool!=null);}}package com.ib.test;import java.util.LinkedList;import java.util.List;class CharacterPool {private List<Character> pool = new LinkedList<Character>();private CharacterPool next=null;public void write(Character c){if(c<'\u4e00'||c>'\u9fa5'){return;}if(pool.contains(c)){pool.remove(c);if(next==null){next=new CharacterPool();}next.write(c);}else{pool.add(c);}}public CharacterPool getNext(){return next;}public int getSize(){return pool.size();}public int getCountSize(){return next==null?pool.size():pool.size()+next.getCountSize();}@Overridepublic String toString(){return pool.toString();}}
9 楼 ganlisxn 2009-06-04   哈哈,我出来了

热点排行