为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输出中有负数?

为什么输出中有负数?

守着一只汪 2021-09-29 13:30:13
任务是经典的:计算 30 个月后兔子对的数量,考虑到每个成熟的幼崽给出三对幼崽。代码如下:    int young = 1;    int mature = 0;      for(int n=2; n<=31; n++)    {        int take_away=young;        young=3*mature;         mature=mature+take_away;        System.out.println("month:"+n+"\t"+"mature\t"+mature+"\t"+"young\t"+young+"\n");        if(n==31)System.out.println(mature+take_away);    }这是问题所在:最初一切都很好:月:2 成熟 1 年轻 0月:3 成熟 1 年轻 3月份:4 成熟 4 年轻 3月份:5 成熟 7 年轻 12从第 28 个月开始输出如下所示:月份:28 成熟 1674257764 年轻 -2113786333减号从何而来?
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

您使用的int和新的数量超过Integer.MAX_VALUE. 请long改用。


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信