我正在尝试考虑一种算法,我可以为我的推理引擎实现创建许多可能的二进制组合
简而言之,如果我的程序的输入文件有 4 个不同的变量,我的程序应该能够生成
0000 0001 0010 。. . 1111
组合....到目前为止,我解决这个问题的方法如下,这只是一个想法,因为它目前是硬编码的......基本上我需要算法来为任何给定数量的变量“n”生成这个。
到目前为止我的代码...
public class TTAlgorithm {
public static void main(String[] args) {
Integer j = new Integer(10);
for (int i = 0; i < 4096; i++) {
if (j.toBinaryString(i).length() == 1) {
System.out.println("0000000000" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 2) {
System.out.println("000000000" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 3) {
System.out.println("00000000" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 4) {
System.out.println("0000000" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 5) {
System.out.println("000000" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 6) {
System.out.println("00000" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 7) {
System.out.println("0000" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 8) {
System.out.println("000" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 9) {
System.out.println("00" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 10) {
System.out.println("0" + j.toBinaryString(i));
}
if (j.toBinaryString(i).length() == 11) {
System.out.println("" + j.toBinaryString(i));
}
}
}
}
谢谢你的帮助....