所以我要做的任务是找出一个委托人达到某个值所需的年数。比如说,我从5000美元开始,我想以10%的年利率积累15000美元。我想知道这项投资的持续时间有多长
这就是我到目前为止所做的
package com.company;
import java.util.Scanner;
public class InvestmentDuration {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println ("Initial Investment: ");
double investment = input.nextDouble();
System.out.println ("Rate as decimals: ");
double rate = input.nextDouble();
System.out.println ("Future Value: ");
double FutureValue = input.nextDouble();
double T = 0; //Initialise Duration//
double EndValue = investment * Math.pow ((1+rate), T); //Formula of Simple Interest//
while (EndValue < FutureValue) {
T += 1.0;
if (investment * Math.pow((1 + rate), T) == FutureValue);
System.out.println("The Number of years it takes to accumulate $" + FutureValue + " is " + T + " years");
}
}
输出:
The Number of years it takes to accumulate $15000.0 is 1.0 years
The Number of years it takes to accumulate $15000.0 is 2.0 years
The Number of years it takes to accumulate $15000.0 is 3.0 years
The Number of years it takes to accumulate $15000.0 is 4.0 years
The Number of years it takes to accumulate $15000.0 is 5.0 years
The Number of years it takes to accumulate $15000.0 is 6.0 years
The Number of years it takes to accumulate $15000.0 is 7.0 years
The Number of years it takes to accumulate $15000.0 is 8.0 years
The Number of years it takes to accumulate $15000.0 is 9.0 years
The Number of years it takes to accumulate $15000.0 is 10.0 years
The Number of years it takes to accumulate $15000.0 is 11.0 years
The Number of years it takes to accumulate $15000.0 is 12.0 years
如何只打印最后一行?
这里有很多错误。。。首先,你的IF语句:它没有动作,因为你用分号把它关闭了。此外,endvalue不太可能等于futurevalu,部分原因是浮点精度,部分原因是不太可能是整数年。所以我想试试这样:
double T = 0.0;
while(investment * Math.pow ((1+rate), T) < FutureValue) {
T += 1.0;
}
System.out.println ("The Number of years it takes to accumulate the Future Value is: " +T+);
当然,你也可以重新调整公式,直接计算T。
您需要使用循环(for
或while
)。在这个循环中,您可以增加年份的值并计算新值。
请注意,我对变量做了一些更改:
T
的类型是int
EndValue
和FinalValue
更改为EndValue
和FinalValue
。Java命名约定为大小写,变量名的首字母很小
years
比T
更好,但这是我个人的看法。如果你决定留在T
,至少应该是一个小字母T
然后可以使用以下代码。在变量中保存endValue并不是真正必要的,因为它只使用一次。所以它可以内联。但我决定继续回答你的问题。
int years = 0;
double endValue = investment;
while (endValue < futureValue) {
years++;
endValue = investment * Math.pow((1 + rate), years);
}
您应该知道,在这个循环之后,years是endValue
大于或等于futureValue的完整年份数。这意味着你不可能有像3.5年这样的结果。如果你想计算,你应该使用亨利的解。
最简单的解决方案是一点数学知识:
Math.log(goal/start) / Math.log(1+rate/100.0)
其中,goal
和start
分别是期末和期初的金额,rate
是以百分比表示的利率。
我正在制作一个方法,该方法应该计算一定时期内某个金额的利率(这些值已经在参数中定义)。这是我到目前为止拥有的代码: 我正在制作嵌套的for循环,正如您在那里看到的那样,那里缺少代码。这里我遇到了一些麻烦。第一个for循环贯穿年份,另一个应该计算总量。为了清楚变量“int年份”中定义的年份,假设它是7,那么程序应该计算每年数量的增长,因此: 主要方法如下所示: 我很感激我能得到的任何帮助!
我是Java新手,我应该计算10年后1000欧元的利率发展,并增加百分比(3%, 4%, 5%, 6%, 7%)。我在弄清楚如何在两个数组之间进行计算时遇到了很多麻烦。真正的困难是将1000欧元放在二维数组的第一[0]行(0年),并每年将利率添加到数组的下一行。这是我到现在还能做的,但现在我完全卡住了: 我应该得到什么: 我得到的是: 我真的很感激每一个关于我做错了什么的建议。
本文向大家介绍java实现简单日期计算功能,包括了java实现简单日期计算功能的使用技巧和注意事项,需要的朋友参考一下 本文讲的java日期计算比较偏,用到的地方很少(比如获取今天所在周的周一或者周日,获取今天是本月的第几周...),这些方法是以前做项目遗留下来的,现在整理一下,跟大家分享。 工具类主要有一下方法: public static Date getFirstMondayOfMonth(
问题内容: 首先,这不是一个作业问题。我正在练习有关Java的知识。我想一个很好的方法是编写一个没有帮助的简单程序。不幸的是,我的编译器告诉我我不知道如何解决的错误。在不更改大量逻辑和代码的情况下,有人可以指出我的一些错误在哪里吗?谢谢 问题答案: 这会工作
我正在做一个程序,可以计算存款单上的基本利息。该计划要求投资金额和期限(最多五年)。取决于他们的任期是多少年,是什么决定了多少利息收入。我使用if/else语句来确定利率。然后,我使用循环打印出每年年底账户中有多少钱。我的问题是,当我运行这个程序时,钱不算在内。 这是整个代码。 这是我用10美元的投资得到的结果,只是为了简单起见,还有5年的投资。 我的主要问题是,我不知道如何让它不断地把乐趣加到总
问题内容: 关于如何使用/ proc / stat中的统计信息获取CPU利用率的文章和参考文献很多。但是,它们中的大多数仅使用7个以上的CPU统计信息中的四个(用户,nice,系统和空闲),而忽略了Linux2.6中存在的剩余jiffie CPU计数(iowait,irq,softirq)。 我的问题是:iowait / irq / softirq编号是否也计入前四个编号之一(用户/ nice /