【问题标题】:Java code for a net present value calculation用于计算净现值的 Java 代码
【发布时间】:2018-02-11 09:36:59
【问题描述】:

我必须为净现值计算编写代码。

我需要使用数组!
折扣率为 10 %
项目 1 的现金流量为:500、300、-200
对于项目 2:-300、100、700。

所以我不知道我怎样才能让它运行起来。感谢您的帮助。

public class Netpresenvalue{

    public static void main(String [] args) {
        int [] [] cashflows = new int [] [] {{500, 300, -200}, {-300, 100, 700}};
        String [] projects = new String [] {"Project 1", "Project 2"};
        double [] netpv = npv (cashflows);
        report  (netpv, projects, cashflows);
    }

    public static double [] kapwert (int [] [] data) {
        double [] cap = new double [data[0].length];
        for (int i=0 ; i<data[0].length; i++) { 
            cap [i] = cashflows/Math.pow((data[0][i]));
        }
        return cap;
    }

    public static void report (double [] npv, String [] projects, int [][] cashflows) {
        for (int i=0 ; i<npv.length ; i++) {
            System.out.println("Project " + projects [i] + "has a npv of" + npv [i] + " and cashflows " + cashflows [1][i] + "Euro");

        }
    }
}

【问题讨论】:

  • 您的问题到底是什么? “我不知道我怎样才能让它运行”不是很具体。但是我可以看到您在main 中调用了一个不存在的方法,并且您在kapwert 中使用了一个不存在的变量。这有帮助吗?
  • 对不起。 Kapwert 应该被命名为 npv 。但是我不知道如何在代码中集成折扣率。另外,我真的不知道如何将数据(现金流和贴现率)整合到净现值的公式中。

标签: java arrays methods encoding


【解决方案1】:

就是这样,这对你有帮助-

public class Netpresenvalue {

    public static void main(String[] args) {
        int[][] cashflows = new int[][] { { 500, 300, -200 }, { -300, 100, 700 } };
        String[] projects = new String[] { "Project 1", "Project 2" };
        JusDoIt j1 = new JusDoIt(cashflows, projects);
        for (int i = 0; i < projects.length; i++) {
            double[] netpv = j1.npv(cashflows[i]);
            j1.report(netpv, projects, cashflows[i]);
        }
    }
}

class JusDoIt {
    int[][] cashflows;
    String[] projects;

    JusDoIt(int[][] cashflows, String[] projects) {
        this.cashflows = cashflows;
        this.projects = projects;
    }

    double[] npv(int[] data) {
    double[] cap = new double[3];
    for (int i = 0; i < data.length; i++) {
        cap[i] = data[i];
    }
    return cap;
}

    void report(double[] npv, String[] projects, int[] cashflows) {
        for (int i = 0; i < npv.length; i++) {
            System.out.println("Project " + "has a npv of" + npv[i] + " and cashflows " + cashflows[i] + "Euro");

        }
    }
}

现在,你编写代码的方式很糟糕,你的解释不清楚,你的基础很糟糕,我不能指望它会那么糟糕,你说谢谢你的帮助,它显示为您没有正确尝试,您没有付出所有努力,这就是您的代码充满错误的原因。我们不是来帮你做功课的,希望你下次能学会。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多