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 @ 2024-03-12 00:15  史常顺  阅读(25)  评论(0)    收藏  举报