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

package cn.hyh_04;

public class MoneyDemo {

        public static void main(String[] args) {               
                String[] str1 = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
                String[] str2 = {"","拾","佰","仟","萬","亿"};
                java.util.Scanner sc = new java.util.Scanner(System.in);
                System.out.println("请输入金钱数:");
                long m = sc.nextLong();
                String money = "";
                int k = 0;
                long s = 1;
                while (true) {
                        boolean b =true;
                        for (int i = k; i<=k+7 && m/s != 0 ;i++,s *= 10) {
                                if (m/s%10 == 0) {
                                        continue ;
                                }
                                if (i<=3+k) {
                                        money = str1[(int)(m/s%10)] + str2[i-k] + money;
                                }else if(i > 3+k && i <= 7+k){
                                       
                                        int count = 0;
                                        if (b==true) {
                                                for (long j = i,n = s;j<=7+k;j++,n *=10) {
                                                        if (m/n%10 != 0) {
                                                                count++;
                                                        }
                                                }
                                                b = false;
                                        }
                                       
                                        if (count != 0) {
                                                money = str2[4] + money;
                                        }

                                        money = str1[(int)(m/s%10)] + str2[i-k-4] + money;
                                }
                                if(m/s%10 != 0 &&  m/s/10 != 0 && (m/s/10%10) == 0) {
                                        money = str1[0] + money;
                                }
                        }
                        if (m/s == 0) {
                                break;
                        }
                        money = str2[5] + money;
                        k +=8;
                }
                System.out.println(money);
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马