A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© abc张强8 中级黑马   /  2014-6-30 20:46  /  577 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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

3 个回复

倒序浏览
你写的这个方法Feb返回类型是int类型,
但是你的f是Long类型的,
所以报错,需要强制转换
回复 使用道具 举报
把返回值类型改成long
回复 使用道具 举报
你写的Feb方法的返回值类型是int型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马