一次面试碰到的机试题:计数分词器---文件读写,比较排序,计数统计(觉得偏基础,值得关注)
来源:互联网 发布:https www.java.com 编辑:程序博客网 时间:2024/04/25 09:02
package com.accp.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Calendar;
/*
*
* version:1.1
* author:liuye
* 实现功能:
* 1,将已知文件读写到另一个文件中
* 2,对文件内容每个单词分开换行输出
* 3,根据单词大小排序
* 4,统计相同单词出现的次数,即词频
* 5,文件读到文件写完所用的时间
*
*/
public class SimpleWordMachine {
//利用字符流进行文件读写
public static void main(String[] args) throws IOException {
String strPath="C://Documents and Settings//Administrator//桌面//message.txt";
//文件读
FileReader fileReader=new FileReader(strPath);
BufferedReader bufferedReader=new BufferedReader(fileReader);
char[] strChar=new char[10000];
Integer num=bufferedReader.read();
String strMessage="";
//循环读文件,readLine()每次只读一行
for (int i = 0; i < 2; i++) {
strMessage+=bufferedReader.readLine();
}
//关闭
bufferedReader.close();
fileReader.close();
//这里确定时间,什么时候开始
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.get(Calendar.HOUR_OF_DAY)+"时"+calendar.get(Calendar.MINUTE)+"分"+calendar.get(Calendar.SECOND)+"秒");
//文件内容用空格分开
String[] strNum=strMessage.split(" ");
//比较数组元素中两个字符串的大小,并且排序列出
try {
for (int i = 0; i < strNum.length; i++) {
for (int j = 0; j < strNum.length-1; j++) {
if(strNum[j].compareTo(strNum[j+1])>0)
{
//交换位置
String abc=strNum[j];
strNum[j]=strNum[j+1];
strNum[j+1]=abc;
}
// System.out.println(strNum[i].compareToIgnoreCase(strNum[j]));
// System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
// System.out.println(strNum[5]);
// System.out.println(strNum[6]);
// System.out.println(strNum[5].compareTo(strNum[6]));
//// System.out.println(strNum[5].compareToIgnoreCase(strNum[]));
}
}
//排序后列出
//定义声明变量;
int numA;
int numB=1;
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
//业务逻辑实现,比较并计算重复的元素出现的次数
for (int i = 0; i < strNum.length-1; i++) {
System.out.println(strNum[i]);
//赋值
numA=0;
if(strNum[i].compareToIgnoreCase(strNum[i+1])==0)
{
//比较的始终是两个数,则比较基数是2个数,则单个相同单词出现的次数基数也是2,然后累加。
numB+=++numA;
System.out.println(strNum[i]+"出现了-------------"+numB+"次");
}
else
{
//不相等,则将numB的值还原
numB=1;
}
}
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
//先写在这里,然后到后面功能实现的时候在写进去.,文件写,注意转义字符/
FileWriter fileWriter=new FileWriter("C://Documents and Settings//Administrator//桌面//liuye//java.txt");
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
for (int i = 0; i < strNum.length; i++) {
bufferedWriter.write(strNum[i]+"/n");
System.out.println(strNum[i]);
}
bufferedWriter.close();
fileWriter.close();
//文件写完所用的时间
System.out.println(calendar.get(Calendar.HOUR_OF_DAY)+"时"+calendar.get(Calendar.MINUTE)+"分"+calendar.get(Calendar.SECOND)+"秒");
}
}
- 一次面试碰到的机试题:计数分词器---文件读写,比较排序,计数统计(觉得偏基础,值得关注)
- 【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
- 【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
- 算法--计数排序与统计计数排序
- 面试题精选(68):计数排序的原地排序
- 【基础排序】计数排序
- 比较计数排序和分布计数排序
- 比较计数排序
- php实现网页计数(读写文件)
- 计数排序 --非比较排序
- 【复赛模拟试题】计数排序
- 计数排序实现及比较
- 【排序五】非比较排序(计数排序&&基数排序)
- 基于非比较的排序:计数排序(countSort),桶排序(bucketSort),基数排序(radixSort)
- 统计--计数
- 计数统计
- Python文件处理——文件的读写和计数
- 计数排序的实现
- 将Derby数据库与birt 集成到RCP
- Cacti no Gentoo
- 浅析WCDMA下行发射分集技术
- linux下防ddos攻击
- 《江南都市报》自主创新的“逐浪OA+CMS”软件研发生产线在江西聚合实业有限公司建成
- 一次面试碰到的机试题:计数分词器---文件读写,比较排序,计数统计(觉得偏基础,值得关注)
- GPIB接口的自动测试系统
- 8位字节的比特翻转
- LuaForS60 工程来由、目标 Etc......
- 隐藏URL
- 我们期待功能强大的ZoomLa! 逐浪CMS v3.0终于发布了
- 拥抱iPhone,拥抱软件开发的未来
- D3D盗墓笔记
- 把Flash Player10卸载干净