我有一个程序对两个数组的公共元素求和。为此,我使用了两个 for 循环,如果我有三个,那么我可以使用三个 for 循环。但是如何对运行时出现的 n 个数组的公共元素求和。
我不知道如何在运行时更改循环数,或者是否有其他相关概念?
这是我尝试对两个数组求和的代码:
import java.util.Scanner;
public class Sample {
public static void main(String... args)
{
Scanner sc=new Scanner(System.in);
int arr1[]={1,2,3,4,5},arr2[]={4,5,6,7,8},sum=0;
for (int i=0;i<arr1.length;i++)
{
for (int j=0;j<arr2.length;j++)
{
if (arr1[i]==arr2[j])
{
sum+=(arr1[i]);
}
}
}
}
}
对此可以有不同的实现。您可以使用以下方法。这是伪代码
- 使用二维数组来存储数组。如果数组的数量为 n 且大小为 m 则数组将为
input[n][m]
- Use a
ArrayList
commonItems
来存储常用的项目。用以下元素启动它input[0]
- 现在迭代数组
i = 1 to n-1
。与每一个比较input[i]
,只存储常见的项目commonItems
and input[i]
在每一步。您可以通过转换来做到这一点input[i]
进入列表并使用retainAll
方法。
- 在迭代结束时
commonItem
列表将仅包含常用号码。现在计算该列表的值的总和。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)