3月11日

今天完成了王辉老师要求的净现值计算  以下为代码

package tast;

import java.math.BigDecimal;

public class Tast {

public static void main(String[] args) {
// TODO 自动生成的方法存根

// 创建二维数组储存每个项目每年利润
int [][] money = new int [5][4];

// 填入利润
money[0][0] = -100000; money[0][1] = -1000000; money[0][2] = -100000; money[0][3] = -120000;
money[1][0] = 10000; money[1][1] = 200000; money[1][2] = 30000; money[1][3] = 30000;
money[2][0] = 10000; money[2][1] = 200000; money[2][2] = 30000; money[2][3] = 30000;
money[3][0] = 10000; money[3][1] = 200000; money[3][2] = 30000; money[3][3] = 30000;
money[4][0] = 20000; money[4][1] = 200000; money[4][2] = 30000; money[4][3] = 30000;


// 贴现率数组 贴现因子
double[] txl = new double[] {0.08,0.12};
double [] [] tx = new double [2][6];

// 贴现因子计算
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 6; j++) {
// 计算贴现因子
tx[i][j] = 1/Math.pow(1+txl[i], j);
// 将因子四舍五入
BigDecimal b = new BigDecimal(tx[i][j]);
tx[i][j] = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
// 输出
if(i==0)
System.out.println("贴现率为0.08 , 第"+j+"年的贴现因子为 : "+tx[i][j]);
else
System.out.println("贴现率为0.12 , 第"+j+"年的贴现因子为 : "+tx[i][j]);
}
}


// 净现值计算
for (int i = 0; i < 2; i++) {
for (int j2 = 0; j2 < 4; j2++) {
double jx = 0 ;
for (int j = 0; j < 6; j++) {
// 计算每年净现值
jx = money[j][j2] * tx[i][j]+jx;
}
// 输出
if(i==0)
System.out.println("贴现率为0.08 , 项目"+(j2+1)+" 的净现值为 : "+jx);
else
System.out.println("贴现率为0.12 , 项目"+(j2+1)+" 的净现值为 : "+jx);
}
}
}

}
posted @   史常顺  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示