萬之內的字符串整數變成漢子字符串

import java.util.Arrays;
import java.util.Scanner;

public class Num2Rmb
{
    private String[] hanArr = {"零", "壹", "貳", "叄", "肆", 
            "伍", "陸", "柒", "捌", "玖"};
    private String[] unitArr = {"十", "百", "千", "萬"};

    private String toHanStr(String numStr)
    {
        String result = "";
        boolean flag = false;
        int numLen = numStr.length();
        for(int i = 0; i < numLen; i++)
        {
            int num = numStr.charAt(i) - 48;
            if(i < numLen -1&&num != 0){
                result += hanArr[num] + unitArr[numLen - 2 - i];
                if(flag == false)
                    flag = true;
            }
            else{
                while(num == 0 && i < numLen - 1){
                    i++;
                    num = numStr.charAt(i) - 48;
                }
                if(flag == false && i == numLen - 1)
                    result += hanArr[num];
                else{
                    if(num != 0 && i < numLen - 1){
                        int tempnum = numStr.charAt(i - 1) - 48;
                        if(tempnum == 0 && flag)
                            result += hanArr[0];
                        result += hanArr[num] + unitArr[numLen - 2 - i];
                        if(flag == false)
                            flag = true;
                    }
                    if(num != 0 && i == numLen -1){
                        int tempnum = numStr.charAt(i - 1) - 48;
                        if(tempnum == 0)
                            result += hanArr[0];
                        result += hanArr[num];
                        if(flag == false)
                            flag = true;
                    }
                }
            }
        }    
        return result;
    }

    public static void main(String[] args)
    {
        Num2Rmb nr = new Num2Rmb();
        Scanner sc = new Scanner(System.in);
        while(true){
            System.out.print("輸入任意一個整數:");
            String str = sc.nextLine();
            System.out.println(nr.toHanStr(str));
        }
    }
}
相關文章
相關標籤/搜索