Java数组结果=null



我的双数组有问题。在我运行文件后,我得到了"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,所以它是null对象第二,这个代码

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

最新更新