我的双数组有问题。在我运行文件后,我得到了"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.length
和mExpenses.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