黑马程序员技术交流社区
标题:
面试题 有没有简单的写法
[打印本页]
作者:
王会涛
时间:
2014-11-9 14:01
标题:
面试题 有没有简单的写法
1、把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如:
a: 21 次
b: 15 次
c: 15 次
把: 7 次
当: 9 次
前: 3 次
,:30 次
mport java.io.*;
import java.util.*;
public class CountTxtChar {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("C:\\countTxtCharSour.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("C:\\countTxtCharSour1.txt"));
HashMap<Character,Integer> hm= new HashMap<Character,Integer>();
int ch=0;
while((ch=br.read())!=-1)
{
if(ch==' ')
continue;
Integer value=hm.get(ch);
if(value==null){
hm.put((char) ch, 1);
}
else
{
value++;
hm.put((char) ch, value);
}
}
//System.out.println(hm);
Set<Character> set= hm.keySet();
Iterator<Character> it=set.iterator();
while(it.hasNext())
{
Character key = it.next();
Integer value=hm.get(key);
System.out.println(key+":"+value);
bw.write(key+":"+value);
bw.newLine();
}
bw.close();
}
}
作者:
王会涛
时间:
2014-11-9 14:03
读的时候到底读了回车符“\r\n“没有?
作者:
陈永赛
时间:
2014-11-10 17:05
有读到回车符,但回车符会分开统计,而且会带有换行,我也在思考这样问题。要不要不统计回车符和空格符。
作者:
想成为黑马
时间:
2014-11-10 17:08
好难的样子
作者:
安卓安小虾
时间:
2014-11-10 17:43
package Timu;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class Test6 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader(new File("aaa.txt"));
FileWriter fw=new FileWriter("ccc.txt");
HashMap<Character,Integer> hm=new HashMap<Character,Integer>();
String s=null;
int count;
char c;
while ((count=fr.read())!=-1){
c=(char)count;
if (!hm.containsKey(c)) {
hm.put(c, 1);
}else{
hm.put(c, hm.get(c)+1);
}
}
fr.close();
for (Entry<Character,Integer> entry :hm.entrySet()) {
fw.write(entry.getKey()+":"+entry.getValue()+"\n");
fw.flush();
}
fw.close();
}
}
昨天我自己做了一个 你可以参考下!!
作者:
安卓安小虾
时间:
2014-11-10 17:47
要注释的话 我可以给你说下!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2