java钱数转为中文表示

这个是以前在HP笔试中碰到的一个题现在有空就把它写出来。
就是把英文的阿拉伯数转为中文表示的钱数:
代码如下:
package money;
import java.util.HashMap;
import java.util.Scanner;
public class Exmoney {
//数字与中文数字的对应
private static final String one="一";
private static final String zero="零";
private static final String two="二";
private static final String three="三";
private static final String four="四";
private static final String five="五";
private static final String six="六";
private static final String seven="七";
private static final String eight="入";
private static final String nine="九";

//数字的单位
private static final String ten="十";
private static final String hundred="百";
private static final String thousand="千";
private static final String tenThousand="万";
private static final String single="元整";

//阿拉伯数字到中文数字的转换表
private static HashMap num=new HashMap();
//单位表
private static HashMap num1=new HashMap();
static int i;

public static void ex(int a){
i=String.valueOf(a).length();
ex1(a);
}
//采用递归实现
public static void ex1(int a){
if(a>0)
ex1(a/10);
if(a%10!=0)
System.out.print(num.get(a%10)+num1.get(i));
i--;
}
//初始化数字表与单位表
public static void init(){
num.put(0, zero);
num.put(1, one);
num.put(2, two);
num.put(3, three);
num.put(4, four);
num.put(5, five);
num.put(6, six);
num.put(7, seven);
num.put(8, eight);
num.put(9, nine);
num1.put(1, ten);
num1.put(2, hundred);
num1.put(3, thousand);
num1.put(4, tenThousand);
num1.put(0, single);
}
public static void main(String[] args) {
init();
System.out.print("please enter a number:");
Scanner r=new Scanner(System.in);
ex(r.nextInt());
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值