gpt4 book ai didi

java - 如何动态决定我想要多少个循环?

转载 作者:搜寻专家 更新时间:2023-11-01 01:13:44 24 4
gpt4 key购买 nike

这是主题:

我有一个 LinkedList 列表,如果列表有 3 个元素,我想为它列出一个完整的真值表,例如:

a b c   <---   the three elements in list
0 0 0
0 0 1
0 1 0
1 0 0
1 1 1
1 1 0
1 0 1
0 1 1

如果列表有 4 个或更多元素,我想生成一个更大的表。

但我卡在这里了:

我知道这样写循环可以生成整个表:

       for (int a = 0; a < 2; a++){
for (int b = 0; b < 2; b++) {
for (int c = 0; c < 2; c++) {
for (int d = 0; d < 2; d++) {
System.out.println(a + " " + b + " " + c + " " + d);
}
}
}
}

但我无法根据列表大小更改循环次数,而且我认为为此编写特殊情况是 Not Acceptable ,那么是否有其他方法可以做到这一点?

最佳答案

如果您只想要一个真值表,那么简单的解决方案:

代码:

int len = 3;
int num = (int)Math.pow(2, len);
for(int i=0; i<num; i++){
// http://stackoverflow.com/a/4421438/1273830
System.out.println(String.format("%"+len+"s", Integer.toBinaryString(i)).replace(' ', '0'));
}

基本数字逻辑:真值表是二进制数字序列。

关于java - 如何动态决定我想要多少个循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12403874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com