java统计中文字符出现次数

题目描述:

统计文件poem.txt中"春、天、水、花"四个字符出现的次数。


代码:

import java.io.*;
import java.util.Arrays;

public class StringTest{
  public static void main(String[] args)throws IOException{
     String content = readFile("poem.txt"); //这里只用相对路径,也可用绝对路径“H:\...”
	 int count1 = 0,count2 = 0,count3 = 0, count4 = 0;
	 for(int i=0;i<content.length();i++){
		 if(content.charAt(i) == '春'){
			 count1++;
		 }
		
		if(content.charAt(i) == '天'){
			 count2++;
		 }
		
		if(content.charAt(i) == '水'){
			 count3++;
		 }
		
		if(content.charAt(i) == '花'){
			 count4++;
		 }
		
	 } 
	 System.out.println("“春”出现次数为 " + count1);
	 //System.out.println("
");
	 System.out.println("“天”出现次数为 " + count2);
	 System.out.println("
");
	 System.out.println("“水”出现次数为 " + count3);
	 System.out.println("
");
	 System.out.println("“花”出现次数为 " + count4);
  }

  static String readFile(String fileName) throws IOException{
    	StringBuilder sb = new StringBuilder("");
        String s1="";
	int c1;
	FileInputStream f1= new FileInputStream(fileName);		
	InputStreamReader in = new InputStreamReader(f1, "UTF-8");

	while ((c1 = in.read()) != -1) {
	  sb.append((char) c1);
	}        
        return sb.toString();
  }
  
}




运行截图:



        附带一个知识点:java中System.out.println是输出完之后自动换行的,如果想要取消自动换行,则用System.out.print,输出空行用System.out.println(" "),其实因为println已经会自动换行,所以直接println("")就足够了.

原文地址:https://www.cnblogs.com/lvlang/p/10586511.html