我想制作一个程序,根据用户输入的 X 长度打印所有真假排列。我所做的是首先初始化一个数组 X 元素 long 并将它们全部初始化为 true。然后我循环遍历它们以进行不同的排列。输出是全部为真的数组,然后它只打印假,其余为真,例如
If X (length was 2)
true true
false true
false true
false true
这是我的代码。
import hsa.Console;
public class TorF {
public static void main (String[] args) {
Console c = new Console();
c.print("Length: ");
int l = c.readInt();
boolean[] values = new boolean[l];
for (int i = 0; i < values.length; i++) {
values[i] = true;
}
int numberOfPremutations = (int) Math.pow (2, l);
for (int j = 0 ; j < numberOfPremutations ; j++) {
for (int i = 0 ; i < l ; i++)
System.out.print (values [i]);
System.out.println ("");
values[l - 1] = false;
for (int i = l - 1 ; i > 0 ; i--) {
if (values [i] == false) {
values [i - 1] = false;
values [i] = true;
}
}
}
}
}