package com.test;
public class ZenHanTest {
public static void main(String[] args) {
String bikoStr = "123456789012345678901234567890123456789012345678901234567890考備";
System.out.println(getHan1Zen2(bikoStr));
}
/**
* 全角文字は2桁、半角文字は1桁として文字数をカウントする
*
* @param str 対象文字列
* @return 文字数
*/
private static int getHan1Zen2(String str){
// 戻り値
int ret = 0;
// 全角半角判定
char[] c = str.toCharArray();
for(int i = 0;i < c.length;i++){
if(String.valueOf(c[i]).getBytes().length == 1){
ret += 1; // 半角文字なら+1
}else{
if(c[i] >= 0xff61 && c[i] <= 0xff9f){
ret += 1; // 半角文字なら+1
}else{
ret += 2; // 全角文字なら+2
}
}
}
return ret;
}
}