(java实现)杭电oj 2030 汉字统计

汉字统计

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 38406    Accepted Submission(s): 20944


Problem Description
统计给定文本文件中汉字的个数。
 
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
 
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。

[Hint:]从汉字机内码的特点考虑~

 
Sample Input
2 WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa! 马上就要期末考试了Are you ready?
 
Sample Output
14 9
 
Author
lcy
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner scan =new Scanner(System.in);
		int n=scan.nextInt();	
		scan.nextLine();
		int count;
		while(n--!=0){
			        count=0;
				String a=scan.nextLine();
				byte[] bys = a.getBytes();
/*C / C++ 中,char 类型占 1 个字节,Java 中char 类型占 2 个字节。因为Java 中无论是汉字还是英文字母都是用 Unicode 编码来表示的,一个 Unicode 码是 16 位,每字节是 8 位,所以一个 Unicode 码占两字节。但是英文字母比较特殊,源自于 8 位(1 字节)的 ASCII 码,于是在 Unicode 码仅使用了低 8 位(1 字节)就/
可以表示,高 8 位的话不使用也无所谓。所以,在这里不能使用 char 类型判断汉字机内码,需要使用 byte 类型。*/ int l=bys.length; for(int i=0;i<l;i++){ if(bys[i]<0) count++; } System.out.println(count/2); } } }

  

原文地址:https://www.cnblogs.com/cwenliu/p/5755559.html