黑马程序员技术交流社区
标题:
将小写数字转换为大写数字,为什么挂了?
[打印本页]
作者:
张振纲
时间:
2012-8-26 17:33
标题:
将小写数字转换为大写数字,为什么挂了?
public class Test10 {
private static final char[] data = new char[]{
'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
};
private static final char[] units = new char[]{
'元','拾','佰','仟','万','拾','佰','仟','亿'
};
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(convert(1080805));
}
public static String convert(int money)
{
StringBuffer sbf = new StringBuffer();
int unit = 0;
for(char i:(money+"").toCharArray()){
sbf.append(data[i]);
}
return sbf.toString();
}
}
复制代码
作者:
杨震
时间:
2012-8-26 18:43
本帖最后由 杨震 于 2012-8-26 18:47 编辑
public class Test10 {
private static final char[] data = new char[]{
'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
};
private static final char[] units = new char[]{
'元','拾','佰','仟','万','拾','佰','仟','亿'
};
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(convert(1080805));
}
public static String convert(int money)
{
StringBuffer sbf = new StringBuffer();
int unit = 0;
for(char i:(money+"").toCharArray()){
int index = i - '0';//问题在这里,i是char类型的,比如说i是'2'的话,你将字符'2'作为数组下标,其数字值应该是几十,而实际上这里应该用数字2.
sbf.append(data[index]);
}
return sbf.toString();
}
}
作者:
万浩
时间:
2012-8-26 18:46
public class Test10 {
private static final char[] data = new char[]{
'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
};
private static final char[] units = new char[]{
'元','拾','佰','仟','万','拾','佰','仟','亿'
};
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(convert(1080805));
}
public static String convert(int money)
{
StringBuffer sbf = new StringBuffer();
int unit = 0;
for(char i:(money+"").toCharArray()){
//这里不是直接是用i 因为i是char类型
String a = String.valueOf(i);
int j = Integer.valueOf(a);
//把i转化成int类型的 j后就可以用了
sbf.append(data[j]);
}
return sbf.toString();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2