Java把汉字转拼音

/**   
 * 汉字转换位汉语拼音,英文字符不变  
 * 
@author Japie
 *  
 
*/   
public   class  Cn2Spell {   
    
    
/**   
    * 汉字转换位汉语拼音首字母,英文字符不变  
    * 
@param  chines 汉字  
    * 
@return  拼音  
    
*/   
    
public   static  String converterToFirstSpell(String chines){          
        String pinyinName 
=   "" ;   
        
char [] nameChar  =  chines.toCharArray();   
        HanyuPinyinOutputFormat defaultFormat 
=   new  HanyuPinyinOutputFormat();   
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
        
for  ( int  i  =   0 ; i  <  nameChar.length; i ++ ) {   
            
if  (nameChar[i]  >   128 ) {   
                
try  {   
                    pinyinName 
+=  PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[ 0 ].charAt( 0 );   
                } 
catch  (BadHanyuPinyinOutputFormatCombination e) {   
                    e.printStackTrace();   
                }   
            }
else {   
                pinyinName 
+=  nameChar[i];   
            }   
        }   
        
return  pinyinName;   
    }   
    
    
/**   
    * 汉字转换位汉语拼音,英文字符不变  
    * 
@param  chines 汉字  
    * 
@return  拼音  
    
*/   
    
public   static  String converterToSpell(String chines){           
        String pinyinName 
=   "" ;   
        
char [] nameChar  =  chines.toCharArray();   
        HanyuPinyinOutputFormat defaultFormat 
=   new  HanyuPinyinOutputFormat();   
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
        
for  ( int  i  =   0 ; i  <  nameChar.length; i ++ ) {   
            
if  (nameChar[i]  >   128 ) {   
                
try  {   
                    pinyinName 
+=  PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[ 0 ];   
                } 
catch  (BadHanyuPinyinOutputFormatCombination e) {   
                    e.printStackTrace();   
                }   
            }
else {   
                pinyinName 
+=  nameChar[i];   
            }   
        }   
        
return  pinyinName;   
    }   
       
    
public   static   void  main(String[] args) {   
        System.out.println(converterToFirstSpell(
" 欢迎来到最棒的Java中文社区 " ));   
    }   

你可能感兴趣的:(java)