JavaSE——金额转换
2024-09-18 20:38:39
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];
}
}
最新文章
- C++ 系列:内存布局
- No.008:String to Integer (atoi)
- 数据库为什么要用B+树结构--MySQL索引结构的实现
- 中国移动测试大会 PPT 和视频
- osg 路径 动画 效果
- 为什么要用rem
- python 面向对象的三大特征之 封装
- 打包程序tar
- 配置Chrome启动参数支持本地AJAX请求,解决XMLHttpRequest cannot load file..,Uncaught NetworkError: Failed to execute &#39;send&#39; on &#39;XMLHttpRequest&#39;:.. 问题
- CentOS下安装两个或多个Tomcat7
- MyBatis从入门到放弃四:一对多关联查询
- Java面向对象 网络编程 上
- JDBCTemplate简化JDBC的操作(二)
- Vue2.0父子组件之间的双向数据绑定问题解决方案
- 重写(override)和重载(overload)的区别
- Dockerfile 中的 multi-stage(多阶段构建)
- ASP.NET Core中使用Autofac
- ASP.NET Core Web 项目 发布的IIS7提示“HTTP Error 502.5 - Process Failure
- 关于vs设置其他主题配色问题
- C# MemoryStream BinaryReader