public void add(int[]a1,int[]a2){
int atotal[] = new int[20];
int capacity3 = Math.max(a1.length, a2.length);
for (int i = 0; i < capacity3; i++)
{
int a3 = a1[i] + a2[i];
if (a3 > 9)
{
atotal[i] = a3 % 10;
atotal[i+1] += a3 /10;
}
else
{
atotal[i] = a3;
}
}
for(int i = capacity3 - 1; i >= 0; i--)
{
System.out.print(atotal[i] + " ");
}
}
在我的程序中添加了兩個數組中的每個元素後,每個單獨位添加的進位不會添加到下一個不重要的位。 所以如果array1 [0] = 9,array2 [0] = 2 ..我的結果[0] = 1,我的結果[1]沒有添加[0]。 例如,如果我把9999和1234作爲兩個數組,結果是0123而不是11233.java添加兩個不同長度的int數組。爲什麼給出比正確結果小的結果?
大聲笑,這段代碼的格式是非常殘酷的。 –
這將拋出'ArrayIndexOutOfBoundsException',如果你甚至嘗試使用2個不同長度的數組 – SJuan76
@Djon如果最大長度大於20,它應該這樣做。 –