⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rule.java

📁 Expert system to help poker player choose his answer
💻 JAVA
字号:
package expertSystem.knowledgeBase;

import java.util.ArrayList;
import java.util.List;

import expertSystem.inferenceMachine.InterenceMachine;

public class Rule {
	public boolean isCheck;
	public List<Fact> prerequisiteList;
	public List<Fact> conclusionList;
	
	public Rule(){}
	
	
	public Rule(boolean _isCheck, List<Fact> _prerequisiteList, List<Fact> _conclusionList){
	
		this.prerequisiteList = _prerequisiteList;
		this.conclusionList = _conclusionList;
		this.isCheck = _isCheck;
	}
	

	public List<Fact> getPrerequisiteList(){
		return this.prerequisiteList;
	}
	
	public void setPrerequisiteList(List<Fact> _prerequisiteList){
		this.prerequisiteList = _prerequisiteList;
	}
	
	public List<Fact> getConclusioList(){
		return this.conclusionList;
	}
	
	public void setConclusioList(List<Fact> tempConclusionList){
		this.conclusionList = tempConclusionList;
	}
	
	public boolean getIsCheck(){
		return this.isCheck;
	}
	
	public void setIsCheck(boolean _isCheck){
		this.isCheck = _isCheck;
	}
	
	public boolean isConclusion(Fact C){
		if(this.conclusionList.contains(C))return true;
		else return false;
	}
	
	public boolean isPrerequisite(Fact P){
		if(this.prerequisiteList.contains(P))return true;
		else return false;
	}
	
	public boolean isCalculated(List<Fact> factList){
		if(!isCheck){
			if(factList.containsAll(prerequisiteList)){
				return true;
			}return false;
		}else return false;
	}
	@Override

	public boolean equals(Object o){
		Rule r = (Rule) o;
		boolean b=false;
		for(Fact ten : r.prerequisiteList){
			
			for(Fact lista : this.prerequisiteList){
				if(ten.smallEquals(lista)){b=true;break;}
			}
			if(b==false)return false;
			else b=false;
		}
	
		for(Fact c1 : r.conclusionList){
			for(Fact c2 : this.conclusionList){
					if(c1.smallEquals(c2)){b=true;break;}
				}
				if(b==false)return false;
				else b=false;
				
		}
	
		return true;
	}

	public boolean equals2(Object o){
		Rule r = (Rule) o;
		for(Fact p1 : r.prerequisiteList){
			for(Fact p2 : this.prerequisiteList){
				if(!p1.equals(p2))return false;
			}
		}
		for(Fact c1 : r.conclusionList){
			for(Fact c2 : this.conclusionList){
				if(!c1.equals(c2))return false;
			}
		}
		return true;
	}
	@Override
	public String toString(){
		String SS="";
		for (int i=0;i<=prerequisiteList.size()-1;i++){
			SS+=this.prerequisiteList.get(i).toString()+" AND ";
		}
		SS+="  THEN  ";
		for (int i=0;i<=conclusionList.size()-1;i++){
			SS+=" "+this.conclusionList.get(i).toString()+" AND ";
		}
		SS+=this.getIsCheck()+"";
		return SS;
	}
	
}

⌨️ 快捷键说明

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