加入收藏 收藏网站 设为首页 设为首页
招生考试网
学历类| 阳光高考 研 究 生 自学考试 成人高考 专 升 本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 书画等级 美国高考 驾 驶 员 书法等级 少儿英语 报 检 员 单 证 员 出国留学
 招生考试网 - 计算机等级考试 - 考试辅导 - 正文

 
Java实现汉字转换为拼音
来源:fjzsksw.com 2010-2-3 编辑:zhoupanyu 【字体:小 大】

 

  本文的核心代码取自easydozer的blog:http://blog.csdn.net/easydozer/

  代码说明:

  Java实现汉字转换为拼音的GUI版本。

  GUI代码部分:

  /**

  * @(#)CnToSpellGUI.java

  * */

  import java.awt.*;

  import java.awt.event.*;

  import javax.swing.*;

  import javax.swing.event.*;

  /**

  *

  *

  JDK版本

  1.4

  * @version 1.0

  * @see

  * @since 1.0

  */

  public class CnToSpell2GUI extends JFrame {

  private CnToSpell2GUI c = null;

  public CnToSpell2GUI () {

  super("Cn to Spell");

  setSize(800,100);

  getContentPane().setLayout(new FlowLayout());

  // component layout

  JTextArea from = new JTextArea(5,20);

  JTextArea to = new JTextArea(5,20);

  JButton b = new JButton("cn to pinyin");

  getContentPane().add(new JLabel("From:"));

  getContentPane().add(from);

  getContentPane().add(b);

  getContentPane().add(new JLabel("To:"));

  getContentPane().add(to);

  // action handle

  b.addActionListener(new Cn2PinyinActionListener(from,to));

  setVisible(true);

  // set this for pack

  c = this;

  }

  /**button action listener to convert text to pinyin from one textbox to another textbox*/

  class Cn2PinyinActionListener implements ActionListener{

  private JTextArea from = null;

  private JTextArea to = null;

  public Cn2PinyinActionListener(JTextArea from, JTextArea to) {

  this.from = from;

  this.to = to;

  }

  public void actionPerformed(ActionEvent e) {

  if (from.getText().length() == 0) {

  JOptionPane.showMessageDialog(from,"From text is empty!","Warning",JOptionPane.WARNING_MESSAGE);

  }

  String text = from.getText();

  to.setText(CnToSpell.getFullSpell(text));

  c.pack();

  }

  }

  public static void main(String [] args) {

  CnToSpell2GUI g = new CnToSpell2GUI();

  }

  }

  核心代码部分:

  * 描 述:创建

  */

  package com.easydozer.commons.util;

  import java.util.Iterator;

  import java.util.LinkedHashMap;

  import java.util.Set;

  public class CnToSpell

  {

  private static LinkedHashMap spellMap = null;

  static

  {

  if(spellMap == null){

  spellMap = new LinkedHashMap(400);

  }

  initialize();

  System.out.println("Chinese transfer Spell Done.");

  }

  private CnToSpell()

  {

  }

  private static void spellPut(String spell,int ascii)

  {

  spellMap.put(spell,new Integer(ascii));

  }

  private static void initialize()

  {

  spellPut("a", -20319);

  spellPut("ai", -20317);

  spellPut("an", -20304);

  spellPut("ang", -20295);

  spellPut("ao", -20292);

  spellPut("ba", -20283);

  spellPut("bai", -20265);

  spellPut("ban", -20257);

 



 
网站版权与免责声明
①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
最新文章
热门文章

报名考试
全国 | 黑龙江 | 吉林 | 辽宁 | 内蒙古
青海 | 宁夏 | 甘肃 | 新疆 | 陕西
西藏 | 北京 | 天津 | 河北 | 山东
江苏 | 安徽 | 河南 | 上海 | 浙江
福建 | 广东 | 山西 | 湖南 | 湖北
江西 | 广西 | 海南 | 云南 | 贵州
四川 | 重庆
分省高校计算机考试
黑龙江 | 吉林 | 辽宁 | 内蒙古 | 河北
北京 | 天津 | 新疆 | 甘肃 | 宁夏
青海 | 陕西 | 山西 | 河南 | 山东
江苏 | 安徽 | 浙江 | 福建 | 广东
海南 | 广西 | 江西 | 湖北 | 湖南
四川 | 上海 | 重庆 | 贵州 | 云南
西藏
成绩查询
报考指南
试题答案
模拟试题
考试辅导
计算机一级 | 计算机二级 | 计算机三级 | 计算机四级
经验交流
高校计算机