金额转换.java

发布于:2024-04-02 ⋅ 阅读:(71) ⋅ 点赞:(0)

题目: 奖金额转换成大写的七位数

分析:获取每一位数字,将数字转为大写的,数字前面添零,补成七位数,最后依次拼接单位

package text;
import java.util.Scanner;
public class MoneySwitch {
    public static void main(String[] args) {
        System.out.println("请输入金额");
        Scanner sc = new Scanner(System.in);
        //1,判断输入的金额是否有效
        int money = 0;
        while (true) {
            money = sc.nextInt();
            if (money >= 0 && money <= 9999999) {
                break;
            } else {
                System.out.println("输入错误,重新输入");
            }
        }

        String strMoney = "";
        //2,获取money里的每个数字
        while (money != 0) {
            int ge = money % 10;
            money = money / 10;
            //3,阿拉伯数字转换成大写
            //String c = switchNumber(ge);
            char c = switchNumber(ge);
            strMoney = c + strMoney;
        }
        System.out.println(strMoney);

        //4,添加零,构成7位数
        int count = 7 - strMoney.length();
        for (int i = 0; i < count; i++) {
            strMoney = "零" + strMoney;
        }
        System.out.println(strMoney);

        //5,添加单位
        String[] union = {"佰", "拾", "万", "仟", "佰", "拾", "元"};
        String result="";

        for (int i = 0; i < strMoney.length(); i++) {
            String a=union[i];
            result=result+strMoney.charAt(i)+a;
        }

        //6,打印结果
        System.out.println(result);
    }
    //定义一个方法,将数字转换成大写
    public static char switchNumber(int number) {
        //String[] arr = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};//字符数组创建字符串
        char[] arr = {'零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'};//数组
        return arr[number];
    }
}

结果

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到