黑马程序员技术交流社区
标题:
麻烦帮我看一下这个代码为什么会多出来空格
[打印本页]
作者:
考不上黑马
时间:
2015-5-1 16:22
标题:
麻烦帮我看一下这个代码为什么会多出来空格
代码写的思路不是很清闲,辛苦各位了。我只是想知道为什么我的打印结果是
零仟 壹佰零拾壹亿零仟 零佰零拾零万 零仟壹佰零拾壹圆整
留意一下仟后面和万后面多了一个空格,请大神帮忙看下是什么问题。万分感激
package li.muzi;
/*10、 金额转换,阿拉伯数字转换成中国传统形式。
例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整*/
public class FuXi {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(china(101000001010l));
}
//金额转换函数,接收Long型的数据
public static String china(Long lg){
StringBuilder strb = new StringBuilder(); //创建一个容器添方便字符串更改
String str = lg.toString(); //数字转换成字符串
char[] chs = str.toCharArray(); //字符串转换成字符数组
for(int x=chs.length-1;x>=0;x--){ //判断第一个数字的位数
//if(++y<chs.length) //读取位数上的值,第0位对应数字的最高位
strb.append(zhi(chs[x]));
strb.append(wei(x));
}
return strb.toString();
}
//用位数上的数字去查找相应的汉字
public static String zhi(char ch){
switch(ch){
case '0':
return "零";
case '1':
return "壹";
case '2':
return "贰";
case '3':
return "叁";
case '4':
return "肆";
case '5':
return "伍";
case '6':
return "陆";
case '7':
return "柒";
case '8':
return "捌";
case '9':
return "玖";
default :
return null;
}
}
//用对应的角标去查位数的大写
public static String wei(int x){
String[] str ={"圆整","拾","佰","仟","万 ","拾","佰","仟 ","亿","拾","佰","仟 ","万 "};
return str[x];
}
}
复制代码
作者:
考不上黑马
时间:
2015-5-1 16:58
找到了,我自己的仟和万后面有空格,操蛋。。。请删帖。。。。
作者:
lshaizj
时间:
2015-5-1 17:15
能自己找到 就是进步
作者:
考不上黑马
时间:
2015-5-1 20:48
lshaizj 发表于 2015-5-1 17:15
能自己找到 就是进步
嗯,实在是找了好久都没找到的,贴到这边有点放大的效果所以找到了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2