如何根据不同的方法在数组中分配最后一个元素?

时间:2015-11-18 16:45:17

标签: java arrays

我创建了两种不同的方法来计算随机每月节省量,以及每月节省的利息并将每个节省的费用保存到自己的阵列中。我想有一个新方法返回calculateInterest数组中的最后一个元素(因为它是一年中累积的节省和兴趣总和),所以我可以在以后的程序的不同部分使用该特定数字。

所以她就是我到目前为止所拥有的。我计算储蓄和兴趣的方法工作得很好,但我不知道如何在我的上一个方法中实际获得价值,而不仅仅是数组编号(这是我能够调用的所有内容)。

非常感谢任何帮助或指示!

public class EmployeeSavings extends AddressBook {

private double accountValue;
private double[] monthlyInterests = new double [12];
private double[] monthlySavings = new double[12];
private static final double MONTHLY_RATE= 0.00417;

public double[] generateMonthlySavings() {

    double min = 100;
    double max = 800;
    double range = (max - min);

    for (int i = 0; i < monthlySavings.length; i++) {
        monthlySavings[i] = (Math.random() * range) + min;

         System.out.println(monthlySavings[i]);

    }

    return monthlySavings;

}

public double[] calculateInterest() {

    double count = 0;

    for (int i = 0; i < monthlyInterests.length; i++) {

        if (i <= monthlyInterests.length)
            count = (monthlySavings[i] + count) * (1 + MONTHLY_RATE);

        System.out.println(count);
    }

    return monthlyInterests;

}

public double[] getMonthlyInterest(){
    return monthlyInterests;

}

public double[] getMonthlySavings() {
    return monthlySavings;

}

// Would like to return total value here
public double getAccountValue() {

    for (int i = 12; i <= getMonthlyInterest().length; i++) {

        accountValue = i; 

    }

    return accountValue;
}

1 个答案:

答案 0 :(得分:0)

如果您的java版本是8,我会这样做

public double getAccountValue() {
    return DoubleStream.of( getMonthlyInterest() ).sum();
}

它更短,我认为它也更具可读性。但是,如果您的Java版本不是8,请执行此类操作

double[] d = getMonthlyInterest();
double value = 0d;    

for (int i = 0; i < d.length; i++) {
    value += d[i]; // d[i] returns value which has i index in array d.
}