binarybitstringlistoperationer.java

来自「Java版的SAT求解器」· Java 代码 · 共 34 行

JAVA
34
字号
package positronic.satisfiability.bitstringlist;

import positronic.satisfiability.bitstring.BitString;
import positronic.satisfiability.bitstring.BitStringFixer;
import positronic.satisfiability.bitstring.IBitString;
import positronic.satisfiability.elements.Conjunction;
import positronic.satisfiability.elements.Disjunction;
import positronic.satisfiability.elements.IProblem;
import positronic.satisfiability.elements.Problem;

public class BinaryBitStringListOperationer extends Problem implements IProblem
{
	private static final long serialVersionUID = 1L;

	public static void main(String[] args) throws Exception
	{
		BinaryBitStringListOperationer o=new BinaryBitStringListOperationer();
		o.addRule(new BitString("a","0"),new BitString("b","0"),new BitString("c","0"));
		o.addRule(new BitString("a","0"),new BitString("b","1"),new BitString("c","1"));
		o.addRule(new BitString("a","1"),new BitString("b","0"),new BitString("c","1"));
		o.addRule(new BitString("a","1"),new BitString("b","1"),new BitString("c","0"));
		System.out.println(o);
	}
	
	public void addRule(IBitString a,IBitString b,IBitString c) throws Exception
	{
		IProblem newRule=new Conjunction(new BitStringFixer(a),new BitStringFixer(b),new BitStringFixer(c));
		if(this.isEmpty())
			this.setClauses(newRule.getClauses());
		else
			this.setClauses(new Disjunction(this,newRule).getClauses());
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?