You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java程序技术问询:年涨7%的学费翻倍年限计算问题

修正学费翻倍计算程序的问题

嘿,我注意到你写的这个学费估算程序有两处需要调整的地方,这样才能准确计算出学费翻倍所需的年限:

存在的问题

  • 变量类型拼写错误:Java里整数类型是小写的int,你写成了Int,这会直接导致编译错误。
  • 涨幅计算逻辑错误:你现在每次给学费加固定的700美元,但实际上每年7%的涨幅应该是基于当年学费的7%,而不是初始学费的7%。固定加700是单利计算,不符合实际的复利增长规则。

修正后的代码

public class FutureTuition {
    public static void main(String[] args) {
        double tuition = 10000; 
        int year = 0; // 初始年份设为0,因为还没开始涨幅
        
        // 每年按当前学费的7%增长,直到学费翻倍
        while (tuition < 20000) {
            tuition *= 1.07; // 等价于 tuition = tuition + tuition * 0.07
            year++;
        }
        
        System.out.println("Tuition will be doubled in " + year + " years");
    }
}

代码说明

  • 把Int改成了正确的int类型,解决编译报错问题。
  • 调整涨幅计算方式:用tuition *= 1.07实现每年基于当前学费的7%增长,完全符合题目要求的复利增长逻辑。
  • 初始年份设为0,因为一开始学费是10000,还没经过任何涨幅,这样统计的年限更精准。

运行这段代码后,输出结果是Tuition will be doubled in 11 years,这个结果也符合金融里的72法则(72除以涨幅百分比,大概就是翻倍所需的年限:72/7≈10.28,所以实际需要11年)。

内容的提问来源于stack exchange,提问作者Rpro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:31:49