int number = money%10;
这个地方错了,money是long类型
你可以修改程序为下面这个
/*
自定义的一个数字转换成人民币大写的一个程序
*/
class ConvertMoney
{
private static final char[] data = new char[]{
'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
};
private static final char[] units = new char[]{
'整','圆','拾','佰','仟','万','拾','佰','仟','亿','拾','佰','仟'
};
public static void main(String[] args){
convert(101000001010L);
}
public static String convert(long money )
{
StringBuffer sbf = new StringBuffer();
int unit = 0;
sbf.insert(0,unit);
while(money!=0)
{
// sbf.insert(0,units[unit++]);
// System.out.println(units[unit++]);
System.out.println(sbf.insert(0,units[++unit]));
long number = money % 10;
int number2 = (int)number;
System.out.println(sbf.insert(0, data[number2]));
money /= 10;
}
return sbf.toString();
}
}
|