黑马程序员技术交流社区

标题: 精度问题求帮忙 [打印本页]

作者: abc张强8    时间: 2014-6-30 20:46
标题: 精度问题求帮忙
  1. public class haha
  2. {
  3. public static void main(String[] args)
  4. {

  5. System.out.println(Feb(40));
  6. }
  7. public static int Feb(int index)
  8. {
  9. if(index < 1)
  10. {
  11. System.out.println("error remeo");
  12. return -1;
  13. }
  14. if(index == 1 || index == 2)
  15. {
  16. return 1;
  17. }
  18. long f1 = 1L;
  19. long f2 = 1L;
  20. long f = 0L;
  21. for(int i = 0; i < index-2; i++)
  22. {
  23. f = f1 + f2;
  24. f1 = f2;
  25. f2 = f;
  26. }
  27. return f;
  28. }

  29. }
复制代码

报一个错误 最后的return f 说是:找到long 需要int 可能造成精度损失 为什么啊 明明都定义的是long
作者: 天,殇心    时间: 2014-6-30 21:46
你写的这个方法Feb返回类型是int类型,
但是你的f是Long类型的,
所以报错,需要强制转换
作者: 非5莫属    时间: 2014-6-30 21:55
把返回值类型改成long
作者: 玉冰竹    时间: 2014-6-30 22:54
你写的Feb方法的返回值类型是int型




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