我正在尝试一种算法,在该算法中我可以为推理引擎实现创建许多可能的二进制组合
简而言之,如果程序的输入文件具有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));
}
}
}
}
谢谢你的帮助....
最佳答案
这应该工作...
public static void main(String[] args) throws Exception {
int count = 0;
int stringSize = 4;
int maxValue= (int)Math.pow(2, stringSize);
while(count < maxValue) {
String binaryString = Integer.toBinaryString(count);
while(binaryString.length() < stringSize) {
binaryString = "0" + binaryString;
}
System.out.println(binaryString);
count++;
}
}
输出是...
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
将其放在方法中,并让该方法接受参数“ stringSize”或任何您想调用的参数。
关于java - Java中的推理引擎实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6003853/