将一个键盘输入的数字转化成中文输出

/*
 1 5  9 13 个
 2 6 10 14 拾
 3 7 11 15 百
 4 8 12 16 千
 */
public class StringDemo_Convert {
    public static String intConvert(String x) {
        String newS = "";
        
        char[] c = x.toCharArray();

        // 替换数字
        for (int i = 0; i < c.length; i++) {
            char number = c[i];
            switch (number) {
                case 0:
                    c[i] = 零;
                    break;
                case 1:
                    c[i] = 一;
                    break;
                case 2:
                    c[i] = 二;
                    break;
                case 3:
                    c[i] = 三;
                    break;
                case 4:
                    c[i] = 四;
                    break;
                case 5:
                    c[i] = 五;
                    break;
                case 6:
                    c[i] = 六;
                    break;
                case 7:
                    c[i] = 七;
                    break;
                case 8:
                    c[i] = 八;
                    break;
                case 9:
                    c[i] = 九;
                    break;


                default:
                    break;
            }


        }
        
        // 增加个十百千万,s用来记录字符的位置 
        for (int i = c.length, s = 0; i > 0; i--, s++) {
            if(c[s]==零){
                System.out.println("不能以零开头");
                break;
            }
            
            int num = 0;
            
            if(i==9){
                newS += c[s] + "亿"; 
                continue;
            }
            
            if (i > 5) {
                if(i%4==0){
                    //千
                    num=4;

                }else{
                    num = i % 4;

                }
            } else {
                num = i % 6;
            }
            switch (num) {
                case 1:
                    newS += c[s] + "";
                    break;
                case 2:
                    newS += c[s] + "拾";
                    break;
                case 3:
                    newS += c[s] + "百";
                    break;
                case 4:
                    newS += c[s] + "千";
                    break;
                case 5:
                    newS += c[s] + "万";
                    break;


            }


        }
        return newS;
    }


    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        String x = s.nextLine();
        String newS = intConvert(x);
        System.out.println(newS);
    }


}
经验分享 程序员 微信小程序 职场和发展