[英]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.length
和mExpenses.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.