问题:
输入:一个txt文本文件
输出:字数总数
排序后再输出
例如:文本的内容是:我爱大海,我爱蓝天
输出:字数总数是:6
排序后:出现1次:大 海 蓝 天
出现2次:我 爱
怎么实现呢?
急~~~~~~~~~~~~~~~~~~~~
用面向对象思想解决:
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();
}
@Override
public String toString(){
return pool.toString();
}
}
分享到:
相关推荐
1. 自我介绍:每人一两分钟自我介绍,然后抽一个话题,三个人自由讨论,不要像答复下列问题那样一个人一个人答,而是三个人讨论,像聊天一样。 2. 讨论题:例如数据库系统构成、数据恢复、完整性约束类的东西,都是...
- 上机考试:包括选择题和编程题,编程题分值大,开卷考试,需提前准备参考资料。 - 综合面试:涉及外语听力、口语、专业外语测试和综合素质面试,需制作PPT,并保持自信。 6. **导师联系**:初试结束后尽早联系...
2. **计算机系统的构成**:一个完整的计算机系统由硬件系统和软件系统两部分组成,其中硬件包括主机和外围设备。 3. **数据表示**:在计算机内部,数据是以二进制形式进行加工处理和传送的。 4. **防杀毒软件的...
2. **计算机系统的构成**:一个完整的计算机系统由硬件系统和软件系统两部分组成,其中硬件包括主机和外围设备。 3. **数据表示**:在计算机内部,数据是以二进制码的形式进行加工处理和传送的。 4. **防杀病毒...
3. 上机操作题: - 配置拨号连接属性,如更改电话号码、设置重拨次数和间隔等。 - 添加西班牙文输入法,通过控制面板的语言设置进行操作。 - 设置IE浏览器内容过滤,禁止访问暴力内容的网站,设定监督人密码。 -...
2. **计算机系统组成**:一个完整的计算机系统由硬件系统和软件系统两部分构成。 3. **数据表示**:在计算机内部,数据是以二进制码的形式进行加工处理和传送的。 4. **防杀毒软件作用**:防杀毒软件能够检查...
一个完整的计算机系统由硬件系统和软件系统两部分组成,包括计算机主机、外设、操作系统以及各种应用软件。 3. 数据处理方式: 计算机内部使用二进制码进行数据的加工处理和传送,这是计算机的基本工作原理。 4....
【计算机应用基础】形考作业一主要涵盖了计算机基础知识和Windows XP操作系统相关知识,涉及选择题、填空题和上机操作题。以下是这些知识点的详细解释: 1. **电子计算机历史**:第一台电子计算机ENIAC是在1946年...
- Internet是一个广域网(Wide Area Network,简称WAN)。 8. IP地址与域名: - 第一级域名中的".cn"代表中国。 9. 电子邮件格式: - 有效的电子邮件地址如etu@eyou.com。 10. Outlook Express功能: - 在线...
本书可以帮助读者更好地掌握C++语言程序设计课程的基本内容和学习方法,提高上机实验能力和程序设计能力。 本教程除了各章的范例和习题外,还有学习过程中的疑问与答复,便于教学。本书可作为独立的教程,也可作为...
2. 一个完整的计算机系统应当包括硬件系统与软件系统。硬件系统包括计算机本身、键盘、鼠标、显示器等,而软件系统包括操作系统、应用软件等。 3. 在计算机内部,数据是以二进制码形式加工处理和传送的。二进制码是...
这门课程涵盖了多个方面,包括操作系统、办公软件的应用、网络基础知识和网络应用。以下是对各章节内容的详细说明: 1. **Windows XP**:这部分主要要求学生了解计算机的基本知识,如计算机的特征、发展历史和应用...