问答详情
源自:9-8 Java 中的 Object 类 Ⅰ

如何编写记录一个文档中某个字数出现的次数

如何编写记录一个文档中某个字数出现的次数

提问者:小豪呵呵 2015-12-04 09:40

个回答

  • liangqin
    2015-12-04 10:28:42
    已采纳

            public static void main(String[] args) {
    		print("d:/test.txt","b");
    	}
    	
    	
    	public static void print(String fileName,String str){
    		try {
    			FileInputStream inputStream = new FileInputStream(fileName);
    			InputStreamReader reader = new InputStreamReader(inputStream);
    			StringBuffer sb = new StringBuffer();
    			while(reader.ready()){
    				sb.append((char)reader.read());
    			}
    			int count = 0;
    			int fromIndex =0;
    			while(true){
    				fromIndex=sb.indexOf(str, fromIndex);
    				if(fromIndex!=-1){
    					fromIndex++;
    					count++;
    				}else{
    					break;
    				}
    			}
    			System.out.println(sb.toString());
    			System.out.println(count);
    			reader.close();
    			inputStream.close();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}


  • liangqin
    2015-12-04 15:38:46

    /*
    	 * 读取一个文档里的一个字符出现的次数
    	 */
    	public static void print(String fileName,String str){
    		try {
    			// 构建FileInputStream对象
    			FileInputStream inputStream = new FileInputStream(fileName);
    			// 构建InputStreamReader对象,可以指定编码格式
    			InputStreamReader reader = new InputStreamReader(inputStream);
    			StringBuffer sb = new StringBuffer();
    			while(reader.ready()){
    				sb.append((char)reader.read());// 转成char加到StringBuffer对象中
    			}
    			int count = 0;//出现的次数
    			int fromIndex =0;//indexOf中查询参数
    			while(true){
    				fromIndex=sb.indexOf(str, fromIndex);//返回该字符在文档中出现的位置,int
    				if(fromIndex!=-1){
    					//找到了该字符,查询的索引+1,出现的次数+1
    					fromIndex++;
    					count++;
    				}else{
    					break;
    				}
    			}
    			System.out.println(sb.toString());
    			System.out.println(count);
    			reader.close();// 关闭读取流
    			inputStream.close();// 关闭输入流,释放系统资源
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}


  • 小豪呵呵
    2015-12-04 10:36:01

     System.out.println(new CharCounter().counter("LOVELOVEYOU",'O'));//这一行是什么意思?

  • RockenRoll
    2015-12-04 10:11:20

    public class CharCounter{
    public static int counter(String s,char c){
     int count=0;
     for(int i=0;i<s.length();i++){
      if(s.charAt(i)==c){
       count++;
      }
     }
     return count;
    }
    public static void main(String args[]){
     System.out.println(new CharCounter().counter("LOVELOVEYOU",'O'));
    }
    }