ユーザーが入力した X の長さに基づいて、true と false のすべての順列を出力するプログラムを作成したいと考えています。私がしたことは、最初に配列 X 要素の長さを初期化し、それらをすべて true に初期化することでした。次に、それらを循環させて、さまざまな順列を作成します。出力はすべて true の配列で、false を出力し、残りを 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;
}
}
}
}
}