我正在尝试打印一些真值表作为学校作业的一部分。如何在 Java 中生成动态大小真值表?
So that printTruthTable(1)
prints:
0
1
printTruthTable(3)
prints:
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
等等。我一直在尝试使用递归来实现它,但我就是无法做到正确。
这是我对你的问题的看法,在一个小课堂上写得很好,很紧凑,只需复制/粘贴
请注意我如何使用 modulo2(% 符号)从循环索引中获取 0 和 1
public class TruthTable {
private static void printTruthTable(int n) {
int rows = (int) Math.pow(2,n);
for (int i=0; i<rows; i++) {
for (int j=n-1; j>=0; j--) {
System.out.print((i/(int) Math.pow(2, j))%2 + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
printTruthTable(3); //enter any natural int
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)