首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从简单的利息中获得到期值及其方程

如何从简单的利息中获得到期值及其方程
EN

Stack Overflow用户
提问于 2019-11-28 10:13:56
回答 1查看 284关注 0票数 1

对于成熟度,我认为这个公式是错误的,它给出了错误的答案。我只想要它每月一次。成熟度案例已经结束了。任何帮助都将不胜感激。

代码语言:javascript
复制
package interest;

import java.util.Scanner;

public class Interest {

    public static void main(String[] args) {
        Scanner userInput = new Scanner(System.in);
        Scanner whatKindPeriod = new Scanner(System.in);
        double principle;
        double rate;
        double period;
        double result;
        double periodNumber;
        String type;
        String matOrSimp;
        double matResult;

        System.out.println("find maturity or simple interest? for simple interest enter simple, and for maturity enter maturity");
        matOrSimp = userInput.next();
        switch (matOrSimp) {
            case "simple":
                System.out.println("please enter the principle:");
                principle = userInput.nextDouble();
                System.out.println("Enter the rate:");
                rate = userInput.nextDouble();
                System.out.println("enter period:");
                period = userInput.nextDouble();
                System.out.println("is it daily, monthly or yearly?");
                type = userInput.next();
                switch (type) {
                    case "yearly":
                        result = (principle * rate * period) / 100;
                        System.out.println("your simple interest is: $" + result);

                    case "daily":
                        double daily = period / 365;
                        result = (principle * rate * daily) / 100;
                        System.out.println("your simple interest is: $" + result);

                    case "monthly":
                        double monthly = period / 12;
                        result = (principle * rate * monthly) / 100;
                        System.out.println("your simple interest is: $" + result);

                        SimpleInterest interest = new SimpleInterest(principle, rate, period);
                }
            case "maturity":

                System.out.println("please enter the principle:");
                principle = userInput.nextDouble();
                System.out.println("Enter the rate:");
                rate = userInput.nextDouble();
                System.out.println("enter time of invesment:");
                period = userInput.nextDouble();
                double monthly = period / 12;

                matResult = (principle * (1 + rate * monthly));
                System.out.println("result is:" + matResult);

        }

    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-28 14:39:24

到期日的公式包括一个复合利率,因此不是:

代码语言:javascript
复制
principle * (1 + rate * monthly)

一般情况下,您应该使用:

代码语言:javascript
复制
principle * Math.pow(1 + periodicRate, compoundingPeriods)

因此,对于您的每月复利,以下方法计算所需的到期日:

代码语言:javascript
复制
    double computeMaturity(double principle, double monthlyRate, double months) {
        return principle * Math.pow(1 + monthlyRate, months);
    }

最后要注意的是,年利率必须以分数形式给出,而不是百分比(10%利率= 0.1 monthlyRate)。

Complete code on GitHub

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59080847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档