本帖最后由 李哲 于 2012-5-30 15:09 编辑
可是这个代码和入学考试最后的题还差得远,比如不能超过亿,不能处理50003类似的数值。还要经过很多判断语句的添加- public class Demo {
- private static final char[] data=new char[]{
- '零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
- };
- private static final char[] units=new char[]{
- '元','拾','佰','仟','万','拾','佰','仟','亿'
- };
- public static void main(String[] args) {
- System.out.println(convert(35543));
- }
- public static String convert(int money){
- StringBuffer sb=new StringBuffer();//定义StringBuffer来盛放汉字字符
- int unit=0;
- while(money!=0){
- sb.insert(0, units[unit++]);
- //StringBuffer的第1个位置插入'元'
- //StringBuffer的第1个位置插入'拾',
- //StringBuffer的第1个位置插入'佰'
- //StringBuffer的第1个位置插入'仟'
- //StringBuffer的第1个位置插入'万'
-
- int number=money%10;
- //35543%10=3
- //3554%10=4
- //355%10=5
- //35%10=5
- //3%10=3
- sb.insert(0, data[number]);
- //'元'之前插入'叁'
- //'拾'之前插入'肆'
- //'拾'之前插入'伍'
- //'拾'之前插入'伍'
- //'拾'之前插入'叁'
-
- money/=10;
- //35543/10=3554
- //3554/10=355
- //355/10=35
- //35/10=3
- //3/10=0
- }
- return sb.toString();
- }
- }
复制代码 |