黑马程序员技术交流社区
标题:
求助。。
[打印本页]
作者:
911288373
时间:
2013-1-1 16:26
标题:
求助。。
public class Test10 {
public static String[] cn={"仟","佰","拾","亿","仟","佰","拾","万","仟","佰","拾","圆整"};
public static String[] number={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
public static String getString(long n)
{
String money=""+n;
if(money.length()>cn.length)
return "钱太多";
String str="";
for(long i=0;i<money.length();i++)
str+=number[Integer.parseInt(""+money.charAt(i))]+cn[cn.length-money.length()+i];
return str;
}
public static void main(String[] args) {
System.out.print(getString(101000001010));
}
}
帮忙优化下吧 101000001010 把它转了。
作者:
冉世友
时间:
2013-1-1 18:41
101000001010 这个数代表int 型 越界了,
末尾应该添加一个L或小写l。
作者:
莫嘉伟
时间:
2013-1-1 19:36
楼主把你的程序改成下面这样试试,道先是传入参数啦,你传整型数默认是int类型的,你要传个long型数进去就要加个大写L或小写l在数的后面,另外long类开支是没有charAt()方法的·,所以将i改成int类型··致于功能方面·先不想了,我该说我是来抢加分机会的吗··
public class Test {
public static String[] cn={"仟亿","佰亿","拾亿","亿","仟万","佰万","拾万","万","仟","佰","拾","圆整"};
public static String[] number={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
public static String getString(long n)
{
String money=""+n;
if(money.length()>cn.length)
return "钱太多";
String str="";
for(int i=0;i<money.length();i++)
str+=number[Integer.parseInt(""+money.charAt(i))]+cn[cn.length-money.length()+i];
return str;
}
public static void main(String[] args) {
System.out.print(getString(101000001010l));
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2