我正在寻找一个清晰的解释我的问题(不寻找代码),但如果一点代码有助于解释自己,那么请谢谢:)
问题:
-使用Java
-main类要求用户输入2个整数,然后将它们放入2个整数类型的arraylists中。每个数字都被分解并存储在自己的索引中,所以可以说,它是自己的“元素”。
例如,现在我的代码是这样的:
“请输入整数:”
688个
“请输入另一个整数:”
三百四十九
现在,在内部,我将输入存储为两个arraylists,如下所示:
数组列表1:[6,8,8]
数组列表2:[3,4,9]
现在,假设我想执行一些加法,比如arraylist1+arraylist2。
我可能会继续创建一个临时的“result”arraylist,然后在我的计算完成后将该答案移到arraylist1。
但我有麻烦的是,我想出了一个系统清晰的方法来把arraylists加在一起。请记住,此示例使用表示长度为3的整数的arraylist,但这可以是任意值例如,我可以有一个包含50个元素的arraylist,例如[2,4,4,3,7,3,6,3,………….],它可以表示万亿中的一个巨大数字,等等。
最佳答案
想想你会怎么做小学加法。你可以先把数字排成这样:
1 3 7
+ 4 5
-----------
然后,将最后两位数字相加
1 3 7
+ 4 5
-----------
2
你会得到一个1。然后加上接下来的两位数字,再加上进位:
1 3 7
+ 4 5
-----------
8 2
现在你有了进位0,所以你可以把最后一个数字和丢失的数字相加得到
1 3 7
+ 4 5
-----------
1 8 2
一般的模式是这样的:从每个数组的最后一个数字开始,将最后两个数字相加得到一个和和和一个进位。将总和的单位数字写入结果数组,然后将进位传播到下一列。然后将该列中的值(加上进位)相加,并在数字之间重复此过程。一旦你用完了其中一个数字中的所有数字,继续求和,但假设有一个0作为缺失的数字。一旦你处理完所有的数字,你就会得到你想要的答案。
希望这有帮助!