银行的金额大小写转换

package com.yan.day10string;

import java.util.Scanner;

public class StringTest08 {
    public static void main(String[] args) {
        //金额转换
         /*
        壹贰叁肆伍陆柒捌玖拾
        壹、贰、叁、肆、伍、陆、柒、捌、玖、拾
        佰、仟、万、亿、元、角、分、零、整
        个、拾、佰、万、万、亿
        零佰零拾零万零仟零佰零拾零元
         */
        //输入一个数:
        System.out.println("请输入一个金额:");
        Scanner scan = new Scanner(System.in);
        int money;
        // 1.保证输入的数字在有效的范围之内:
        while (true) {
            money = scan.nextInt();
            if (money >= 0 && money <= 999999) {
                break;
            } else {
                System.out.println("重新输入金额:");
            }
        }
        //定义一个变量表示钱数的大写:
        String moneyStr = "";
        //1234
        // 2.大写转换:
        while (true) {
            int ge = money % 10;//获取钱数的最右侧的数字:个位
            String capitalNumber = bigChangenumber(ge);
            //把转换之后的大写数字进行拼接
            moneyStr = capitalNumber + moneyStr;
            //去掉之前的数字
            money = money / 10;
            if (money == 0) {
                break;
            }
        }
//        System.out.println(moneyStr);

        //补零
        int count = 7 - moneyStr.length();
        for (int i = 0; i < count; i++) {
            moneyStr="零"+moneyStr;
        }
//        System.out.println(moneyStr);

        //插入单位:佰拾万仟佰拾元
        //定义数组表示单位:
        String[] arr={"佰","拾","万","仟","佰","拾","元"};

        String result="";
        for (int i = 0; i < moneyStr.length(); i++) {
            char c=moneyStr.charAt(i);
            result=result+c+arr[i];
        }
        //打印结果:
        System.out.println(result);
    }

    //定义一个方法来把数字转化成大写
    public static String bigChangenumber(int number) {
        String[] str1 = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
        return str1[number];
    }

}

你可能感兴趣的:(java,开发语言)