我是一名初学者,参加夏季课程。所以请轻松使用代码。 我需要创建一个投资应用程序,计算如果每年复合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);
}
}
答案 0 :(得分:2)
为此,让我们来看看while循环是什么。因为可以使用while循环实现此问题。
while(condition){
//things to do
}
这是while循环的基本模式。它检查条件。如果是,则执行括号内的所有指令。到达结束后,它再次回到第一个括号中并再次检查条件。如果条件检出,它再次执行括号内的代码。只要条件不变为假,这就会持续。如果为false,则java忽略以下括号中的指令并继续。
现在,在您的情况下,您需要继续检查由于每年的兴趣产生的金额是否小于TotalValue
。如果是这样,那么你将它模拟为一年。或者,在代码中,您将为年份的计数添加一个。然后在添加兴趣并存储之后计算金额。如果它变得相等或更大,那么你需要停止添加年份的过程。当你得到你的答案。它非常简单。
amount<TotalValue
时, TotalValue
会变为假。
while(amount<TotalValue) {
calculate amount after interest and store it.
year++
}
因为,我们已经用起始金额初始化投资,我们回收它并将金额的价值存储在其中。不要被这个名字弄糊涂。
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 你知道的事实:
4)您必须跟踪到达第3点所需的年数
第1点是您希望循环更改/更新的起始值 - 您需要在复利时保留投资的运行值。
这应该是你需要做的任务。另外,养成初始化变量的习惯(设置初始值),总是用小写字母开始变量名(私有变量可以接受下划线),并避免使用像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);
}