Java实现汉字转换为拼音计算机等级考试

文章作者 100test 发表时间 2010:02:04 01:01:55
来源 100Test.Com百考试题网


  本文的核心代码取自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).


相关文章


C语言实例:爱因斯坦的数学题计算机等级考试
C语言实例:由两个平方三位数获得三个平方二位数计算机等级考试
Java中接口的使用概要计算机等级考试
构建用于正则表达式的抽象JavaAPI计算机等级考试
Java实现汉字转换为拼音计算机等级考试
Java获取汉字拼音的首字母计算机等级考试
C 杂记计算机等级考试
用Java实现KeyFile计算机等级考试
C语言实例:区分旅客国籍计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛