📄 rule.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 + -