package com.zhao.stringtest;

import java.util.Scanner;

public class Test3 {
    //金额转换
    //查表法
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请录入金额:");
        int money;
        while (true){
            money=sc.nextInt();
            if (money>=0){
                break;
            }else {
                System.out.println("输入不合法!");
            }
        }
        //转换数字
        //得到每一位的数字并循环使用转换方法
        String str="";//创建一个字符串对象用于拼接获得的每一个大写中文数字
        while (true){
            int ge=money%10;//得到个位
            money=money/10;//得到去掉个位后的新数,并重复循环得到每一次新的个位数
            str=getCaptialNumber(ge)+str;
            if (money==0){
                break;//获得完最大一位数之后,跳出循环
            }
        }
        System.out.println(str);

        //限定长度为7位数,计算出空的位数有几个,空的位数向前补零
        int count=7-str.length();
        for (int i = 0; i < count; i++) {
            str='零'+str;
        }
        System.out.println(str);

        //插入单位,单位正好也是七位,所以可以循环插入
        //创建一个单位数组
        char[] unitArr={'佰','拾','万','仟','佰','拾','元'};
        //创建一个结果字符串用于记录
        String result="";
        for (int i = 0; i < str.length(); i++) {
            //获取字符串中单个字符charAt()方法
            char c=str.charAt(i);
            result=result+c+unitArr[i];
        }
        //打印结果
        System.out.println(result);

    }

    //写一个方法,创建一个数组,用于根据0-9的数字当作索引
    //返回数字对应每一个大写中文数字
    //chars[0]-->零
    public static char getCaptialNumber(int index){
        char[] chars={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
        return chars[index];
    }

}

java 金额 元与分 java金额转换程序_System