我正在寫一個程序,打印一個數組,其中包含作爲參數傳遞的兩個數組的值的總和。當一個數組比另一個長時,我需要包含異常。在這種情況下,該方法應該打印這兩個數組共享的索引的總和,然後打印沒有相應值添加到的數組值。Java - 陣列不打印我想要的值
當我運行該程序時,它計算出它應該的總和,但是然後打印0.0而不是從我想重新打印的較長陣列中的原始值。任何人都知道我在代碼中做錯了什麼?
import java.util.*;
class Sum
{
public static void main (String [] args)
{
double [] a1 = {2.4, 3.8};
double [] a2 = {0.2, 9.2, 4.3, 2.8, 1.4};
System.out.println (Arrays.toString (arraySum(a1,a2)));
}
public static double [] arraySum (double [] x, double [] y)
{
int length = 0;
int place = 0;
if (x.length < y.length)
{
double [] sumY = new double [y.length];
length = y.length;
for (int j = 0; j <= x.length-1; j++)
{
sumY [j] = x[j] + y[j];
place++;
}
for (int i = place; i <= y.length - 1; i++)
{
sumY [place] = y[i];
}
return sumY;
}
if (x.length > y.length)
{
double [] sumX = new double [x.length];
length = x.length;
for (int j=0; j <= y.length-1; j++)
{
sumX[j] = x[j] + y[j];
place++;
}
for (int i = place; i <= x.length - 1; i++)
{
sumX [place] = y[i];
}
return sumX;
}
else
{
double [] sum = new double [x.length];
length = x.length;
for (int i = 0; i <= length - 1; i++)
{
sum[i] = x[i] + y[i];
}
return sum;
}
}
}
這是你對類似題目的第二個問題。你自己做功課,srsarkar7? – brettw