news 2026/6/23 8:21:29

java金额转换,将数字金额转换为7位大写

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
java金额转换,将数字金额转换为7位大写

来看题:

要将输入的数字(大于零并小于七位)转成如图格式金额
示例输入:
12345
示例输出:
零佰零拾壹万贰千叁佰肆拾伍

题解:
0-9对应的数字可以利用数组下标轻松转换为汉字,因此我们可以先将12345转为壹贰叁肆伍,然后再在前面补零补足7位:
零零壹贰叁肆伍
最后插入单位即可。

首先定义两个数组,一个用来存储汉字单位,一个用来存储汉字进位单位:

privatestaticfinalString[]yuan={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};privatestaticfinalString[]wei={"佰","拾","万","千","佰","拾","元"};

然后做输入数字处理:

intmoney=0;while(true){System.out.println("请输入金额:");money=sc.nextInt();if(money>0&&money<10000000){break;}else{System.out.println("输入错误");}

接下来我们可以先将数字转为汉字表示,这里因为频繁使用字符串拼接,因此创建StringBuilder:

StringBuilderresult=newStringBuilder();while(money>0){inttemp=money%10;result.insert(0,change(temp));money/=10;}

change代码如下:

publicstaticStringchange(intnum){returnyuan[num];}

然后补足7位,可以先计算长度看看需要补几个零,然后用StringBuilder提供的insert方法可以轻松在头部插入:

intcount=7-result.length();for(inti=0;i<count;i++){result.insert(0,"零");}System.out.println(result);

最后我们插入单位,定义两个下标i和j,j表示插入位置,i表示要插入的单位的数组下标。注意j隔一位插入即可:

// 插入单位intj=1;intf=0;while(j<result.length()&&f<wei.length){result.insert(j,wei[f]);j+=2;// 这里注意j要隔一位进行插入f++;}System.out.println(result);

完整代码:

packagemylearn;importjava.util.*;publicclassTest{privatestaticfinalScannersc=newScanner(System.in);privatestaticfinalString[]yuan={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};privatestaticfinalString[]wei={"佰","拾","万","千","佰","拾","元"};publicstaticvoidmain(String[]args){// 指针intmoney=0;while(true){System.out.println("请输入金额:");money=sc.nextInt();if(money>0&&money<100000000){break;}else{System.out.println("输入错误");}}StringBuilderresult=newStringBuilder();while(money>0){inttemp=money%10;result.insert(0,change(temp));money/=10;}intcount=7-result.length();for(inti=0;i<count;i++){result.insert(0,"零");}System.out.println(result);// 插入单位intj=1;intf=0;while(j<result.length()&&f<wei.length){result.insert(j,wei[f]);j+=2;f++;}System.out.println(result);}publicstaticStringchange(intnum){returnyuan[num];}}

end

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 9:12:22

初识操作系统

&#x1f3ac; 个人主页&#xff1a;Vect个人主页&#x1f3ac; GitHub&#xff1a;Vect的代码仓库&#x1f525; 个人专栏: 《数据结构与算法》《C学习之旅》《Linux》⛺️Per aspera ad astra. 文章目录1. 冯诺依曼体系结构2. 操作系统相关概念1. 冯诺依曼体系结构 我们常见…

作者头像 李华
网站建设 2026/6/23 0:41:25

Android端AI模型部署终极指南:从入门到精通

还在为移动端AI模型部署而苦恼吗&#xff1f;内存占用过大、推理速度缓慢、兼容性问题频发&#xff1f;本文为你揭秘Paddle-Lite如何轻松解决这些痛点&#xff0c;让你的AI应用在Android设备上流畅运行。 【免费下载链接】Paddle-Lite PaddlePaddle High Performance Deep Lear…

作者头像 李华
网站建设 2026/6/23 3:38:08

RuoYi-Vue3企业级管理系统:现代化开发框架实战指南

在当今快速发展的数字化时代&#xff0c;企业对于高效、稳定、可扩展的管理系统需求日益增长。RuoYi-Vue3作为一款基于Java Spring Boot和Vue3技术栈开发的企业级后台管理系统&#xff0c;提供了一整套快速开发解决方案&#xff0c;帮助开发者快速构建功能完善的企业应用。 【免…

作者头像 李华
网站建设 2026/6/23 19:37:37

MCP协议驱动企业级AI集成:芋道源码的智能化升级实践

MCP协议驱动企业级AI集成&#xff1a;芋道源码的智能化升级实践 【免费下载链接】ruoyi-vue-pro &#x1f525; 官方推荐 &#x1f525; RuoYi-Vue 全新 Pro 版本&#xff0c;优化重构所有功能。基于 Spring Boot MyBatis Plus Vue & Element 实现的后台管理系统 微信小…

作者头像 李华
网站建设 2026/6/22 20:44:11

终极指南:使用gsplat.js实现高性能3D高斯点云渲染

终极指南&#xff1a;使用gsplat.js实现高性能3D高斯点云渲染 【免费下载链接】gsplat.js JavaScript Gaussian Splatting library. 项目地址: https://gitcode.com/gh_mirrors/gs/gsplat.js gsplat.js是一个专为现代浏览器设计的JavaScript 3D高斯点云渲染库&#xff0…

作者头像 李华
网站建设 2026/6/23 19:37:32

把CNN和SVR捏在一起做预测这事儿,乍听有点玄乎,实操起来倒挺有意思。咱们今天不整那些虚头巴脑的理论,直接上手撸代码。先甩个模型结构出来镇楼

基于CNN-SVR的多输入单输出组合回归预测模型 python代码 特征提取与非线性建模&#xff1a; CNN-SVR的核心思想是使用卷积神经网络来提取数据中的重要特征。 CNN具有强大的特征提取能力&#xff0c;能够自动学习数据中的非线性特征。 支持向量回归&#xff08;SVR&#xff09;…

作者头像 李华