兴趣循环/编码初学者

时间:2015-07-22 22:46:52

标签: java while-loop

我是一名初学者,参加夏季课程。所以请轻松使用代码。 我需要创建一个投资应用程序,计算如果每年复合7.5%,那么2,500美元的投资将花费多少年至少5000美元。顺便说一句,我不知道for循环是什么。 我只是想弄清楚如何用LOOPS做这个,而不是一个方程式而不是LOOPS。请帮忙!!

这是我到目前为止所做的。

public class Investment
{
    // Main method
    public static void main(String[] args)
{
    int MaxAm=5000; //the final worth of investment
    int Investment = 2500;
    double Interest = 0.075;
    double Time; 
    double TotalValue;

    //BLAH

    System.out.println("The amount of years it will take for a $2500 investment to be ");
    System.out.println("worth at least $5000 if compounded annually at 7.5% is: "+Time);

}
}

2 个答案:

答案 0 :(得分:2)

为此,让我们来看看while循环是什么。因为可以使用while循环实现此问题。

while(condition){
    //things to do
}

这是while循环的基本模式。它检查条件。如果是,则执行括号内的所有指令。到达结束后,它再次回到第一个括号中并再次检查条件。如果条件检出,它再次执行括号内的代码。只要条件不变为假,这就会持续。如果为false,则java忽略以下括号中的指令并继续。

现在,在您的情况下,您需要继续检查由于每年的兴趣产生的金额是否小于TotalValue。如果是这样,那么你将它模拟为一年。或者,在代码中,您将为年份的计数添加一个。然后在添加兴趣并存储之后计算金额。如果它变得相等或更大,那么你需要停止添加年份的过程。当你得到你的答案。它非常简单。

当金额达到或超过amount<TotalValue时,

TotalValue会变为假。

  1. while(amount<TotalValue) {
  2. calculate amount after interest and store it.
  3. year++
  4. }
  5. 因为,我们已经用起始金额初始化投资,我们回收它并将金额的价值存储在其中。不要被这个名字弄糊涂。

    public class Investment
    {
        // Main method
        public static void main(String[] args)
    {
        int MaxAm=5000; //the final worth of investment
        int Investment = 2500;
        double Interest = 0.075;
        double Time = 0; 
        double TotalValue = 5000;
    
        while(Investment<TotalValue) {
    
            Time++;
            Investment = Investment + (Investment*Interest);
    
        }   
    
        System.out.println("The amount of years it will take for a $2500 investment to be ");
        System.out.println("worth at least $5000 if compounded annually at 7.5% is: "+Time);
    
        }
    }
    

答案 1 :(得分:1)

要学习如何编程,您需要将所有内容分解为简单的逻辑。 目标:找到2500美元投资所需的年数> = 5k 你知道的事实:

  • 1)初始投资为2500
  • 2)利息每年复合(a.k.a。:YEARly),税率为.075
  • 3)您必须继续计算利息,而本金金额<&lt; 5000
  • 4)您必须跟踪到达第3点所需的年数

  • 第1点是您希望循环更改/更新的起始值 - 您需要在复利时保留投资的运行值。

  • 第2点和第4点是连接的,因为它们都是每年发生的;基本上,每当你复利时,你应该增加时间跟踪器。
  • 第3点是您想要用作循环条件的内容,因为您希望在达到该条件后停止计算兴趣。

这应该是你需要做的任务。另外,养成初始化变量的习惯(设置初始值),总是用小写字母开始变量名(私有变量可以接受下划线),并避免使用像Time这样的单词(当大写时,实际上是java类的名称)。作为一个先行的经验法则,只需将你的班级名称大写(还有一些你应该大写的东西,但不是你将学习一段时间的任何东西)。 这是一个指南,我更改了你的变量名和一些类型:

    public static void main(String[] args){
    final double interestRate = 0.075; // constant rate of interest
    double maxAmount = 5000; // 
    double initialInvestment = 2500;
    double finalInvestment = initialInvestment;
    int numberOfYears = 0; 

    while( /* insert condition */ ){

        // STEP: compound interest

        // STEP: increment year count
    }

    System.out.println("It will take " + numberOfYears 
                    + " for your investment of " + initialInvestment 
                    + " to be worth at least " + maxAmount 
                    + " if compounded annually at a rate of " + interestRate);

}