大家来讨论下这个面试题,该如何处理 发布时间: 2012-02-03 22:02:47 作者: rapoo
大家来讨论下这个面试题 写一个程序,从文件(c:\test.txt)中查出字符串”zhuobin”出现的次数? (要求:用最简洁的方法,写出符合上面要求的程序)[解决办法] String类的indexOf递归遍历就可以实现 我觉得 不过效率就不是很好了[解决办法] public int findNumOfStringInFile(String filePath,String str)throws Exception{ BufferReader br = new BufferReader(new FileReader(new File(filePath))); String line = null; int num = 0; while(line=br.readLine()!=null){ String[] s = line.split(str); if(s.length()>1) num+=s.length-1; } return num; }[解决办法]
探讨 public int findNumOfStringInFile(String filePath,String str)throws Exception{ BufferReader br = new BufferReader(new FileReader(new File(filePath))); String line = null; int num = 0; while(line=br.readLine()!=null){ String[] s = line.split(str); if(s.length()>1) num+=s.length-1; } return num; } [解决办法] 不会写
[解决办法] BufferedReader in = new BufferedReader(new FileReader("c:\\test.txt"));
String s = "";
int num = 0;
while ((s = in.readLine()) != null) {
if (line.indexOf("zhuobin") > 0) ++num;
}
return num;
[解决办法] 探讨 public int findNumOfStringInFile(String filePath,String str)throws Exception{ BufferReader br = new BufferReader(new FileReader(new File(filePath))); String line = null; int num = 0; while(line=br.readLine()!=null){ String[] s = line.split(str); if(s.length()>1) num+=s.length-1; } return num; }[解决办法] 探讨 万一那个单词换行了怎么办?[解决办法] 探讨 BufferedReader in = new BufferedReader(new FileReader("c:\\test.txt")); String s = ""; int num = 0; while ((s = in.readLine()) != null) { if (line.indexOf("zhuobin") > 0) ++num; } return num; [解决办法] 同上,如果是查"zhuobin"的词的话,就不能用indexof 了.可能会有"sb_zhuobin"这样的存在
[解决办法] 不追求效率的话 indexof可以·
[解决办法] 探讨 引用: public int findNumOfStringInFile(String filePath,String str)throws Exception{ BufferReader br = new BufferReader(new FileReader(new File(filePath))); String line = null; int num = 0; while(line=br.readLine()!=null){ String[] s = line.split(str); if(s.length()>1) num+=s.length-1; } return num; } 这个没创意  哈哈哈哈[解决办法] 探讨 引用: 引用: public int findNumOfStringInFile(String filePath,String str)throws Exception{ BufferReader br = new BufferReader(new FileReader(new File(filePath))); String line = null; int num = 0; while(line=br.readLine()!=null){ String[] s = line.split(str); if(s.length()>1) num+=s.length-1; } return num; } 这个没创意 哈哈哈哈…
[解决办法] 探讨 引用: 引用: 引用: public int findNumOfStringInFile(String filePath,String str)throws Exception{ BufferReader br = new BufferReader(new FileReader(new File(filePath))); String line = null; int num = 0; while(line=br.readLine()!=null){ String[] s = line.split(str); if(s.length()>1) num+=s.length-1; } return num; } 这个方法貌似有个缺点 如果那段字符串分布在末尾有一些,下一行开头有点的话,会出现少统计现象。 …