黑马程序员技术交流社区

标题: 大神帮我看下代码,其中有一句我想不明白 [打印本页]

作者: 136616244    时间: 2014-5-25 08:53
标题: 大神帮我看下代码,其中有一句我想不明白
  1. import java.util.*;
  2. public class Num2Rmb
  3. {
  4. private String [] hanArr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖",};
  5. private String [] unitArr = {"十","百","千",};
  6. /**
  7. 把一个浮点数分解成整数部分和小数部分字符串
  8. @param num 需要被分解的浮点数
  9. @return 分解出来的小数部分和整数部分,第一个数组元素是整数部分,第二个数组元素是小数部分
  10. */
  11. public String[] divide(double num)
  12. {
  13. long zheng =(long)num;
  14. long xiao =Math.round((num - zheng)*100) ;
  15. return new String []{zheng +"",String.valueOf(xiao)};
  16. }
  17. /**
  18. 将一个四位数字字符串转换成汉字字符串
  19. @param numStr 需要被转换的数字字符串
  20. @return 四位数字的字符串被转换成汉子字符串

  21. */
  22. public String toHanstr(String numStr)
  23. {
  24. String result = "";
  25. int numLen = numStr.length();
  26. for (int i = 0;i<numLen ;i++ )
  27. {
  28. int num = numStr.charAt(i) - 48;
  29. if(i!=numLen-1 & num !=0)
  30. result+=hanArr[num]+unitArr[numLen - 2 -i];//这里的unitArr[numLen - 2 -i]是怎么得出来的,想不出是什么原因,求解释,谢谢啦!
  31. else
  32. result +=hanArr[num];
  33. }
  34. return result;
  35. }
  36. public static void main(String[] args)
  37. {
  38. Num2Rmb nr = new Num2Rmb();
  39. System.out.print(Arrays.toString(nr.divide(236711125.123)));
  40. System.out.print(nr.toHanstr("6109"));
  41. }
  42. }
复制代码

现在明白了,不过不知道昨晚这个贴为什么发布出去
作者: 532989476    时间: 2014-5-25 13:18
代码格式不好看呐




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2