java在数组中打印数字
我正在尝试编写一个函数来显示锯齿数组中的所有组合,其中每个组合包含来自每个子数组的一个元素。交错数组可以由任意数量的数组组成,每个数组可以有任意数量的元素。例如,对于以下阵列: a[0]={1,3,5} a[1]={2,4} 它应返回: (1, 2) (1, 4) (3, 2) (3, 4) (5, 2) (5、4)
我本想这样做,但马上就遇到了麻烦。从逻辑上看,得到1、2和1、4似乎没问题,但下一次运行I被设置回0(很抱歉,现在无法在devel机器上进行测试)。 有谁能提出更好的解决方案吗
这是我的密码
for (int i = 0; i < array1.length(); i++)
for (int j = 0; j < array2.length(); j++)
if (j < array2.length())
i = 0;
else
i++;
System.out.println(array1[i] "," array2[j])
# 1 楼答案
这个怎么样:
int a[]={1,2,3}; int b[]={1,2}
# 2 楼答案
如果我正确地理解了你的问题(我可能不是),我想你所需要的只是
达到预期的效果
# 3 楼答案
你不需要这个:
i在for循环中自动递增
这应该可以:
# 4 楼答案
循环中的
if
语句会破坏一切。您只需要2个嵌套循环即可完成任务:# 5 楼答案
下面是一个适用于任意数量数组的通用解决方案(请注意此算法运行时的指数性质):
# 6 楼答案