使用貼現率8%和12%分別計算每個項目的凈現值(NPV),提交源代碼和實驗結果截圖,編程語言不限。


我這里用java實現的

 

 

 

 代碼如下:

package test;
import java.math.BigDecimal;
//作者:劉子煜
public class test1 { public static void main(String[] args) { int[] project1=new int[]{-100000,10000,10000,10000,20000,100000}; int[] project2=new int[]{-1000000,200000,200000,200000,200000,300000}; int[] project3=new int[]{-100000,30000,30000,30000,30000,30000}; int[] project4=new int[]{-120000,30000,30000,30000,30000,75000}; double[] tiexian=new double[]{0.08,0.12}; double[][] b=new double[2][6]; //int project1result1=jia(project1,tiexian); for(int j=0;j<2;j++){ for(int i=0;i<6;i++){ b[j][i]=1/Math.pow((tiexian[j]+1), i); BigDecimal t = new BigDecimal(b[j][i]); b[j][i]=t.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); } } for(int j=0;j<2;j++){ for(int i=0;i<6;i++){ if(j==0){ System.out.println(""+i+""+"貼現率8%的貼現因子"+b[j][i]); }else{ System.out.println(""+i+""+"貼現率12%的貼現因子"+b[j][i]); } } } int[] project1result1=doit(project1,b);System.out.println("項目1中貼現率8%的凈現值:"+project1result1[0]+" 貼現率12%的凈現值:"+project1result1[1]); int[] project1result2=doit(project2,b);System.out.println("項目2中貼現率8%的凈現值:"+project1result2[0]+" 貼現率12%的凈現值:"+project1result2[1]); int[] project1result3=doit(project3,b);System.out.println("項目3中貼現率8%的凈現值:"+project1result3[0]+" 貼現率12%的凈現值:"+project1result3[1]); int[] project1result4=doit(project4,b);System.out.println("項目4中貼現率8%的凈現值:"+project1result4[0]+" 貼現率12%的凈現值:"+project1result4[1]); } static int[] doit(int[] a, double[][] b){ int[] p=new int[2]; for(int j=0;j<2;j++){ int temp=0; for(int i=0;i<6;i++){ temp=(int)(temp+a[i]*b[j][i]); System.out.println(temp+"-----"); } p[j]=temp; } //System.out.println("8%的凈現值:"+p[0]+" 12%的凈現值:"+p[1]); return p; } }

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM