繁体   English   中英

Java 数组结果 = null

[英]Java Array Result = null

我的双阵列有问题。 在我运行我的文件后,我得到了“空”值。

我不知道解析上面的这个数组。

public class TestDesposit {
    public static void main(String[] args) {
        double [] rev = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0};
        double [] exp = {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0};

        Result res = new Result (exp, rev);
        System.out.println(Arrays.toString(res.Resultat()));
    }
}

public class Result {
    double [] mExpenses;
    double [] mRevenue;
    double [] mResult;

    public Result (double[] pExpenses, double[] pRevenue) {
        mExpenses = pExpenses;
        mRevenue = pRevenue; 
    }

    public double [] Resultat () {
        for (int i = 0; i == 12; i++) {
            mResult[i] = mRevenue[i] - mExpenses[i];
        }
        return mResult;
    }   
}

您需要初始化您的 mResult 数组。 当然,如果您的输入数组的长度不总是 12,这会产生问题,但这是一个不同的问题。

你可以尝试这样的事情:

double[] mResult = new double[12];

然后,正如人们一直指出的那样,您应该将Resultat的 for 循环更改为如下所示:

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

请注意,您还可以使用mResult.lengthmExpenses.length因为它们在您的场景中也是相同的。

一开始mResult不是init,所以是空对象二、这段代码

for (int i=0 ; i ==12; i++){.. }

永远不要跑,我想你应该那样改变

public double [] Resultat (){
   mResult  = new double[12];
        for (int i=0 ; i <12; i++){
        mResult[i] = mRevenue[i] - mExpenses[i];
        }
    return mResult;
    } 
for (int i=0 ; i ==12; i++){

是错的。 你应该试试 i<12

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM