【发布时间】:2012-02-04 00:01:19
【问题描述】:
我正在为我的问题寻找一个清晰的解释(不是在寻找代码),但如果一些代码有助于解释你自己,那么请做......谢谢:)
问题:
-使用Java
-Main 类向用户询问 2 个整数输入,然后将它们放入 2 个整数类型的数组列表中。每个数字都被分解并存储在自己的索引中,因此可以说是自己的“元素”。
例如,我现在的代码是这样的:
"请输入一个整数:"
688
"请输入另一个整数:"
34
此时,在内部,我已将输入存储为 2 个数组列表,如下所示:
ArrayList1: [6, 8, 8]
ArrayList2: [3, 4]
现在,假设我要执行一些乘法运算,例如 ArrayList1 * ArrayList2。
我可能会继续创建一个临时的“结果”arraylist,然后在我的计算完成后将该答案移至 arraylist1。
但我遇到的问题是想出一种系统清晰的方法来将数组列表相乘。请记住,此示例使用一个数组列表,它分别表示长度为 3 和 2 的整数,但这可以是任何值。例如,我可以有一个包含 50 个元素的数组列表,例如 [2, 4, 4, 3, 7, 3, 6, 3,......]数以万亿计的巨大数字,等等。
【问题讨论】:
-
如果允许/可用/相关,
BigInteger可能是一种更有效的方法。 -
很公平。从上下文中不确定这是否是一个练习。
-
如果你的列表是 [8,8,6] 和 [4,3],你会发现它会容易得多,这样表示的值是元素乘以十的幂的总和index - 否则您必须提前计算结果中的位数,或者如果您需要另一个,则必须移动所有内容。
标签: java algorithm math arraylist multiplication