Java程序实现了金额数字转大写的功能

package CCTest;

import java.util.Scanner;

public class JinEZhuanHuan {
    /*
    * 用方法将金额转换成大写
    * 例如:12345
    * 结果:零佰萬零拾萬零萬壹仟叁佰肆拾伍元
    *
    * 思路:
    * 12345->壹贰叁肆伍
    * 壹贰叁肆伍->零零壹贰叁肆伍
    * 零零壹贰叁肆伍+单位->零佰萬零拾萬零萬壹仟叁佰肆拾伍元
    * */

    public static void main(String[] args) {
        //先写输入的金额
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入金额:");
        int money;
        //需要在不符合范围的情况下重新输入,需要循环,但是不知道几次循环才能成功所以选择while循环
        while (true) {
            //定义一个变量表示输入的金额
        money= scan.nextInt();
            //判断金额是否在0~9999999范围内
            if (money>=0&&money<=9999999){
                //范围内,则调用转换大写的方法
                break;
            }else {
                System.out.println("转换失败,请输入0~9999999内的金额进行转换");
            }
        }

        //定义一个变量表示金额的大写
        String strDa="";
        //得到money中的每个数字
        while(true){
            //从右往左依次获取数字
            int ge=money%10;
            //将数组转换成大写,调用方法
            String Daxie=ZhuanHuanNumber(ge);
            //将数字转换成大写,并拼接
            strDa=Daxie+strDa;
            //去掉刚刚的数字
            money=money/10;
            //判断最后一个数字等于0的时候则退出
            if (money==0){
                break;
            }
        }
        //在前面补零,补齐7位
        int count=7-strDa.length();
        for (int i = 0; i < count; i++) {
            strDa="零"+strDa;
        }
        System.out.println(strDa);

        //插入单位
        //定义一个数组用来表示单位
        String[] strDanwei={"佰","拾","萬","仟","佰","拾","元"};
        //遍历strDa,依次得到 零 零 零 贰 壹 叁 伍
        //定义结果变量,用来拼接单位和金额
        String result="";
        for (int i = 0; i < strDa.length(); i++) {
            //用char输出每一个字符
            char c=strDa.charAt(i);
            //拼接一下单位和每个字符
            result=result+c+strDanwei[i];

        }System.out.print("转换为大写的金额:"+result);
    }

    //转换成大写的方法
 public  static String  ZhuanHuanNumber( int num){
        //定义数组让中文和数字产生关系
        String [] price={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
     return price[num];
 }
}

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