A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

10黑马币
金额转换,阿拉伯数字转换成中文传统数字

最佳答案

查看完整内容

import java.util.Scanner; public class Test { public static void main(String[] args) { long num = 101000001010l; String[] digit = {"零","壹","貳","叁","肆","伍","陆","柒","扒","玖"}; String[] unit = {"整","圆","拾","百","仟","万","拾","百","仟","亿","拾","百","仟","万"}; while(true){ num ...

2 个回复

倒序浏览
import java.util.Scanner;
public class Test {
        public static void main(String[] args) {
                long num = 101000001010l;
                String[] digit =        {"零","壹","貳","叁","肆","伍","陆","柒","扒","玖"};
                String[] unit =         {"整","圆","拾","百","仟","万","拾","百","仟","亿","拾","百","仟","万"};
                while(true){
                        num = new Scanner(System.in).nextLong();
                        char[] chArr = Long.toString(num).toCharArray();
                        StringBuilder sb = new StringBuilder("");
                        for(int i = 0;i < chArr.length;i++){
                                 String s = digit[Integer.parseInt(String.valueOf(chArr[i]))];
                                 String s2 = unit[chArr.length-i];
                                 sb.append(s).append(s2);  
                }
                sb.append(unit[0]);
                String str = sb.toString();
                str = change(str);
                System.out.println(str);}
        }
        private static String change(String str) {
                String s = str.replaceAll("零[仟百拾]", "零");
                s = s.replaceAll("零+", "零").replaceAll("零亿", "亿").replaceAll("零万", "万");
                s = s.replaceAll("零圆", "圆").replace("亿万", "亿");
                return s;
        }
}

评分

参与人数 2黑马币 +12 收起 理由
zj2427902512 + 10 赞一个!
fmi110 + 2 赞一个!

查看全部评分

回复 使用道具 举报
这种方法叫查表法。。。很有用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马