2017/03/16

Java 注音符號的『水平顯示』轉換成『垂直顯示』


在 Java 程式中,

如何實現將水平顯示的注音符號, 如: ㄏㄨㄟˋ,

轉換成垂直顯示的注音符號, 如:


ㄟˋ

可以參考下面程式碼 :
 程式碼
public class HelloWorld
{
    public static void main(String[] args)
    {
        HelloWorld vClass = new HelloWorld();
        
        String[] vData = {"ㄒㄧㄤ", "ㄌㄨㄥˊ", "ㄈㄚˇ", "ㄏㄨㄟˋ", "˙ㄓㄜ"};
        
        for( int i = 0; i < vData.length; i++ )
        {
            System.out.println( "===== " + vData[i] + " 的垂直顯示 =====" );
            System.out.println( vClass.ConvertHorizontalToVertical(vData[i]) );
        }
    }
    
    private String ConvertHorizontalToVertical( String pData )
    {
        String vNewData = "";
        
        // 文字內容的每一個字元
        for( int j = pData.length()-1; j > 0; j-- )
        {
            String vChar = pData.charAt(j)+"";
            
            // 字元是注音符號, 而不是二聲 / 三聲 / 四聲
            if(  !vChar.equals("ˊ")
              && !vChar.equals("ˇ")
              && !vChar.equals("ˋ")
              )
            {
                // 加入換行符號, 且多個兩個空白字元, 用來對齊
                vNewData = "  \n" + vChar + vNewData;
                
                // 最後一個字元, 多個兩個空白字元, 用來對齊
                if( j == pData.length()-1 )
                    vNewData = vNewData + "  ";
            }
            else
            {
                // 二聲 / 三聲 / 四聲
                vNewData = vChar;
            }
        }
        
        // 新的文字內容最後加上第一個字元
        vNewData = pData.charAt(0) + vNewData;
        
        return vNewData;
    }
}

範例結果, 如下 :
 輸出結果
===== ㄒㄧㄤ 的垂直顯示 =====
ㄒ  
ㄧ  
ㄤ  
===== ㄌㄨㄥˊ 的垂直顯示 =====
ㄌ  
ㄨ  
ㄥˊ
===== ㄈㄚˇ 的垂直顯示 =====
ㄈ  
ㄚˇ
===== ㄏㄨㄟˋ 的垂直顯示 =====
ㄏ  
ㄨ  
ㄟˋ
===== ˙ㄓㄜ 的垂直顯示 =====
˙  
ㄓ  
ㄜ  

以上, 參考看看囉 ^ ^