取得给定汉字串的首字母串

news/2024/7/8 4:48:27 标签: string, class, null, import, date, 图形
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">

import java.io.UnsupportedEncodingException;

/**
* 取得给定汉字串的首字母串,即声母串
* <p>Title: ChineseCharToEn</p>
* <p>
@author javer QQ:84831612</p>
@version 1.0
* @date 2004-02-19
* 注:只支持GB2312字符集中的汉字
*/

public final class ChineseCharToEn
{
private final static int[] li_SecPosValue =
{
160116371833207822742302243325942787310632123472,
363537223730385840274086439045584684492552495590
}
;
private final static String[] lc_FirstLetter =
{
"a""b""c""d""e""f""g""h""j""k""l""m""n""o""p",
"q""r""s""t""w""x""y""z"
}
;

/**
* 取得给定汉字串的首字母串,即声母串
@param str 给定汉字串
@return 声母串
*/

public String getAllFirstLetter(String str)
{
if (str == null || str.trim().length() == 0)
{
return "";
}


String _str 
= "";
for (int i = 0; i < str.length(); i++)
{
_str 
= _str + this.getFirstLetter(str.subclass="tags" href="/tags/STRING.html" title=string>string(i, i + 1));
}


return _str;
}


/**
* 取得给定汉字的首字母,即声母
@param chinese 给定的汉字
@return 给定汉字的声母
*/

public String getFirstLetter(String chinese)
{
if (chinese == null || chinese.trim().length() == 0)
{
return "";
}

chinese 
= this.conversionStr(chinese, "GB2312""ISO8859-1");

if (chinese.length() > 1//判断是不是汉字
{
int li_SectorCode = (int) chinese.charAt(0); //汉字区码
int li_PositionCode = (int) chinese.charAt(1); //汉字位码
li_SectorCode = li_SectorCode - 160;
li_PositionCode 
= li_PositionCode - 160;
int li_SecPosCode = li_SectorCode * 100 + li_PositionCode; //汉字区位码
if (li_SecPosCode > 1600 && li_SecPosCode < 5590)
{
for (int i = 0; i < 23; i++)
{
if (li_SecPosCode >= li_SecPosValue[i] &&
li_SecPosCode 
< li_SecPosValue[i + 1])
{
chinese 
= lc_FirstLetter[i];
break;
}

}

}

else //非汉字字符,如图形符号或ASCII码
{
chinese 
= this.conversionStr(chinese, "ISO8859-1""GB2312");
chinese 
= chinese.subclass="tags" href="/tags/STRING.html" title=string>string(0,1);
}

}


return chinese;
}


/**
* 字符串编码转换
@param str 要转换编码的字符串
@param charsetName 原来的编码
@param toCharsetName 转换后的编码
@return 经过编码转换后的字符串
*/

private String conversionStr(String str, String charsetName,String toCharsetName)
{
try
{
str 
= new String(str.getBytes(charsetName), toCharsetName);
}

catch (UnsupportedEncodingException ex)
{
System.out.println(
"字符串编码转换异常:" + ex.getMessage());
}


return str;
}

}


/**
* 测试程序
* <p>Title: JaverTest</p>
*/

public class JaverTest
{
public static void main(String[] args)
{
ChineseCharToEn cte 
= new ChineseCharToEn();
System.out.println(
""夜未眠"的首个拼音字母是:" + cte.getFirstLetter("夜未眠"));
System.out.println(
""Javer夜未眠"的首个拼音字母是:" + cte.getFirstLetter("Javer夜未眠"));
System.out.println(
""Javer夜未眠"的全部字母的拼音字母是:" + cte.getAllFirstLetter("Javer夜未眠"));
}

}


 

http://www.niftyadmin.cn/n/612204.html

相关文章

加菲猫语录精选 中英俄三语版

1. Money is not everything. There’s MasterCard & Visa钞票不是万能的, 有时还需要信用卡 деньги не всё. ещё есть кредитовые карты (платежные карты и дебетовые карты .) 2. One should love ani…

明白了这十个故事,你也就参悟了人生

1、断箭   不相信自己的意志&#xff0c;永远也做不成将军。   春秋战国时代&#xff0c;一位父亲和他的儿子出征打仗。父亲已做了将军&#xff0c;儿子还只是马前卒。又一阵号角吹响&#xff0c;战鼓雷鸣了&#xff0c;父亲庄严地托起一个箭囊&#xff0c;其中插着一只箭。…

JSP入门初级教程之Session的使用

TTP协议是无状态的&#xff0c;即信息无法通过HTTP协议本身进传递。为了跟踪用户的操作状态&#xff0c;ASP应用SESSION对象。JSP使用一个叫HttpSession的对象实现同样的功能。HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面。Session的信息保存在服务器端…

使用计算机制作数字文本结构 可以,使用计算机制作的数字文本结构,可以分为线性结构与非线性结构,简单文本呈现为一种____结构,写作和阅读均按顺序进行。...

【单选题】人体工程学联系到室内设计,其定义为:以人为主体,运用人体计测、生理与心理计测等手段和方法,研究人体结构功能、心理、力学等方面与室内环境之间的合理协调关系,以适合人的身心活动要求,取得最佳的使用效能。【判断题】LoRaWAN具有自适应数据速率的特征【问答题】简述…

计算机组成原理文华学院,计算机组成原理试题B.docx

PAGEPAGE # / 6华中科技大学文华学院2008?2009学年度第一学期《计算机组成原理》试卷B卷课程性质&#xff1a;必修使用范围&#xff1a;(06级)考试时间&#xff1a;考试方式&#xff1a;闭卷学号专业班级学生姓名成绩大题题号-一--二二三四总分实际得分、单项选择题(从下列各题…

Java告别“J2XE”时代 采用全新命名方法

Java终于扔掉了那个名字中的2了。 不管是初学Java还是一个Jave的资深程序员&#xff0c;可能谁也不会忘记这个2字: Java 2 Standard Edition&#xff0c;Java 2 Enterprise Edition。 从1998年起&#xff0c;这个2字就加在Java的版本号上了&#xff0c;那为什么要加这个2呢&…

计算机无法打开优盘,解决win7中U盘打不开的技巧

大家在日常使用电脑的过程中&#xff0c;很多用户都会使用U盘来进行存储或者复制传送资料吧&#xff0c;但是在使用过程中也会遇到各种各样的问题&#xff0c;比如最近我朋友跟我说他把U盘插到电脑的时候却发现系统提示打不开&#xff0c;这让他不知所措&#xff0c;想必也有很…

初一计算机课怎么上,人文教育:该如何上好初中信息技术课?看完真是涨知识了!...

随着社会的不断进步和发展,计算机在日常生活中的使用已越来越普遍.初中信息技术是近年新开设的一门课程,该课程实践性强,发展速度快,是实用性很强的学科.信息技术课的主旨在于培养学生对信息技术的兴趣和意识,让学生了解和掌握信息技术的基本知识和技能.通过对信息技术课程的学…