hdu2030(漢字統計)java水過
來源:程序員人生 發布時間:2015-04-30 08:16:46 閱讀次數:2508次
hdu2030
思路:漢字機內碼在計算機的表達方式的描寫是,使用2個字節,每一個字節最高位1位為1。計算機中, 補碼第1位是符號位, 1 表示為負數,所以漢字機內碼的每一個字節表示的10進制數都是負數,且漢字占用兩個字節結果要除以2,不要忘了
。
import java.util.*;
class Main{
public static void main(String []args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
sc.nextLine();
while(n-->0){
String str=sc.nextLine();
int numb=0;
byte b[]=str.getBytes();//將字符串轉化為字節數組
for(int i=0;i<b.length;i++){
if(b[i]<0){
numb++;
}
}
System.out.println(numb/2);
}
}
}
注:代碼第10行換成這樣:
byte b[]=new byte[str.length()];
b=str.getBytes();
就錯了。由于str.length()是字符串的長短,而轉化為字節時,1個字符串不1定對應1個字節數,所以錯了。注意這個小小細節問題!
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈