package com.itheima.test;
import java.util.TreeMap;
public class Test1 {
/**
需求:将一个int类型的5位数转换成大写的输出
思路:
1,因为是整数,无非就是0-9之间的数,那么可以吧0-9之间的数存到一个map集合中,键对的是
int类型的数,值对应的是int类型的大写
2,拿到每一位上的数后,通过键把map集合中的值给取出,
存到一个StringBuilder中.
*/
public static void main(String[] args) {
int num=12345;
TreeMap<Integer,String> tm = new TreeMap<Integer,String>();
//0-9之间的数存到一个map集合中
tm.put(0, "零");
tm.put(1, "一");
tm.put(2, "二");
tm.put(3, "三");
tm.put(4, "四");
tm.put(5, "五");
tm.put(6, "六");
tm.put(7, "七");
tm.put(8, "八");
tm.put(9, "九");
num2String(num,tm);
}
public static void num2String(int num, TreeMap<Integer, String> tm) {
StringBuilder sb= new StringBuilder();
sb.append(num/10000==0?"":(tm.get(num/10000%10)+"万")). //得到万位上的数,数字/10000,然后与10取余
append(num/1000==0?"":(tm.get(num/1000%10)+"千")). //得到千位上的数,数字/1000,与10取余
append(num/100==0?"":(tm.get(num/100%10)+"百")). //得到百位上的数,数字/100,与10取余
append(num/10==0?"":(tm.get(num/10%10)+"十")). //得到十位上的数,数字/10,与10取余
append(num/1==0?"":(tm.get(num%10)+"")); //得到个位上的数,与10取余
System.out.println(sb.toString());
}
}
|