首页 > 其他分享 >使用贴现率8%和12%分别计算每个项目的净现值(NPV)

使用贴现率8%和12%分别计算每个项目的净现值(NPV)

时间:2024-03-07 19:22:50浏览次数:28  
标签:200000 贴现率 12% 30000 int double 8% new NPV

具体代码

package org.example;

import java.math.BigDecimal;

//使用贴现率8%和12%分别计算每个项目的净现值(NPV)
public class Main {
    public static void main(String[] args) {
        int[] a1 = new int[]{-100000,10000,10000,10000,20000,100000};
        int[] a2 = new int[]{-1000000,200000,200000,200000,200000,300000};
        int[] a3 = new int[]{-100000,30000,30000,30000,30000,30000};
        int[] a4 = new int[]{-120000,30000,30000,30000,30000,75000};

        //贴现率
        double m=0.08;
        double n=0.12;

        double[] t1=new double[6];
        double[] t2=new double[6];

        //计算每一年的每个项目的贴现因子
            for(int j=0;j<=1;j++){
                int k=0;
                int l=0;
                for(int i=0;i<=5;i++) {
                    if (j == 0) {
                        double q = 1.0 / Math.pow(1.0 + m, i);
                        BigDecimal bigDecimal = new BigDecimal(q);
                        q = bigDecimal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
                        t1[k++]=q;
                        System.out.println("第" + i + "年8%的贴现率的贴现因子是:" + q);
                    } else {
                        double q = 1.0 / Math.pow(1.0 + n, i);
                        BigDecimal bigDecimal = new BigDecimal(q);
                        q = bigDecimal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
                        t2[l++]=q;
                        System.out.println("第" + i + "年12%的贴现率的贴现因子是:" + q);
                    }
                }
            }

        //计算每个项目的净现值
        double result11=0;
        double result21=0;
        for(int j=0;j<6;j++){
            result11=a1[j]*t1[j]+result11;
            result21=a1[j]*t2[j]+result21;
        }
        System.out.println("项目1的8%的贴现率的净现值是:"+result11+"; 12%的贴现率的净现值是:"+result21);

        double result12=0;
        double result22=0;
        for(int j=0;j<6;j++){
            result12=a2[j]*t1[j]+result12;
            result22=a2[j]*t2[j]+result22;
        }
        System.out.println("项目2的8%的贴现率的净现值是:"+result12+"; 12%的贴现率的净现值是:"+result22);

        double result13=0;
        double result23=0;
        for(int j=0;j<6;j++){
            result13=a3[j]*t1[j]+result13;
            result23=a3[j]*t2[j]+result23;
        }
        System.out.println("项目3的8%的贴现率的净现值是:"+result13+"; 12%的贴现率的净现值是:"+result23);

        double result14=0;
        double result24=0;
        for(int j=0;j<6;j++){
            result14=a4[j]*t1[j]+result14;
            result24=a4[j]*t2[j]+result24;
        }
        System.out.println("项目4的8%的贴现率的净现值是:"+result14+"; 12%的贴现率的净现值是:"+result24);

    }
}

效果展示

标签:200000,贴现率,12%,30000,int,double,8%,new,NPV
From: https://www.cnblogs.com/liuzijin/p/18059448

相关文章

  • MySQL8.0.21安装初始化失败
    情况说明:安装到最后一步第三个“Initializedatabase(maytakealongtime)”打叉,“Log”中存在“mysqld:File'.\鐜嬫旦鐒?bin.index'notfound(OSerrno2-Nosuchfileordirectory)”,已退出安装程序。问题分析:如果是第一次安装,问题在主机名称是中文;如果曾退出安装,问题......
  • 解决 Android studio Connect to 127.0.0.1:[/127.0.0.1] failed: Connection refused
    前言由于代理变更,androidstudio会有一系列报错,其中一个是Connectto127.0.0.1:xxxxxx[/127.0.0.1]failed:Connectionrefused网上答案大都太片面了,无法完全解决问题,这里列举出四个可能的原因,希望对大家有用问题如下建议一下四种方案都尝试下,我相信总有一种能......
  • K8S的HPA原理
    在Kubernetes(简称K8s)中,HorizontalPodAutoscaler(HPA)是一种自动扩展Pod副本数量的机制,其原理是基于集群中运行的应用程序资源使用情况动态调整Pod副本的数量。 HPA的工作原理可以概括为以下几个步骤:监控指标:HPA通过与KubernetesMetricsAPI交互,持续监控指定目标对象(如De......
  • 全新QSiC 1200V 模块:GCMS020A120S1-E1、GCMS040A120S1-E1、GCMX020B120S1-E1、GCMS020
    全新QSiC1200VSOT-227SiC模块,提升能源标准,这些超高效模块支持电动汽车、医疗电源和太阳能大功率应用的创新设计。特点低开关损耗低结至外壳热阻非常坚固,易于安装直接安装到散热器上(隔离封装)超低损耗的高频操作SiCSBDs的零反向恢复电流SiCMOSFETs的小关断尾电流低杂散电感......
  • leetcode120. 三角形最小路径和
    leetcode120.三角形最小路径和这道题的关键在于想到dp[i][j]=min(dp[i-1][j-1],dp[i-1][j])+triangle[i][j];太久没做过算法题了,连设一个dp数组都没意识到我的代码classSolution{public:intminimumTotal(vector<vector<int>>&triangle){intsize......
  • 3121000389
    这个作业属于哪个课程软件工程2024-双学位(广东工业大学)这个作业要求在哪里软件工程第一次作业这个作业的目标建立个人技术博客加入博客园班级学习使用Markdown文本语法撰写博客准备一个GitCode账号、上传代码其他参考文献无目录一、评估当前的自己简历......
  • K8S - 配置资源管理
    配置资源管理ConfigMap资源(简称给cm)用于保存配置文件,环境变量等不需要加密的信息。它可以实现将配置信息与应用程序解耦    kubectlrunpod-demo--image=soscscs/myapp--port=80--dry-run=client-oyaml>pod-demo.yaml  kubectlcreatecmcm-de......
  • LeetCodeHot100 1.两数之和 46.字母异位词分组 128.最长连续序列
    1.两数之和https://leetcode.cn/problems/two-sum/description/?envType=study-plan-v2&envId=top-100-likedpublicint[]twoSum(int[]nums,inttarget){HashMap<Integer,Integer>map=newHashMap<>();for(inti=0;i<nums.l......
  • Kibana8.0怎么添加索引index至discover
    ELK7版本索引输入至elasticsearch后使用CreateIndexpattern添加索引至Kibana在ELK8版本添加方式有所不同左侧菜单选择Management选择Kibana-DataViews创建dataview查看Discover选择刚刚设置的索引名即可......
  • SpringBoot3+Consul配置,启动后,居然不读bootstrap.yml的配置文件,直接连本地localhost:8
    问题描述如题。bootstrap.yml的配置文件: consul控制台打印的日志: 解决方案:booststrap.yml的配置文件缩进搞错了,所以压根就没有读到配置。正确的缩进:  ......