Java实现可修改知识库的动物识别专家系统
期末人工智能大作业,本来想找一找网上现成的代码,结果大部分有界面的全部都是C#写的,而且大多数不能修改知识库,所以就自己用java做了一个动物识别专家系统,因为时间仓促,界面比较简陋,而且因为方便,全部用了List集合,所以输入特征时要按顺序输入才可以。
界面部分的代码就不多展示了,主要是判定规则的代码:
import java.util.LinkedList;
import java.util.List;
public class Rule {
public static String str4="";
public Rule() {
List<String> TaArea = new LinkedList<String>();
List<String> Fea = new LinkedList<String>();
int b=0;
for(int i=0;i<JFrameText.s.length();i++)
{
if(JFrameText.s.charAt(i)=='\n') {
TaArea.add(JFrameText.s.substring(b, i));
b=i+1;
}
}
new FileRead();
String str1="";
String str2="";
String str3="";
for(int i=0;i<TaArea.size();i++) {
if(str1!="") {
str1=str2;
}
for(int j=i;j<TaArea.size();j++) {
str1+=TaArea.get(j);
if(FileRead.key .contains(str1)) {
i=j;
str2+=FileRead.value .get(FileRead.key.indexOf(str1));
System.out.println(str1+"->"+FileRead.value .get(FileRead.key.indexOf(str1)));
str3=str1+"->"+FileRead.value .get(FileRead.key.indexOf(str1))+"\n";
Fea.add(str3);
str1="";
}
}
}
for(int i=0;i<Fea.size();i++) {
str4+=Fea.get(i);
}
}
}
动物识别专家系统的大部分功能也都实现,其中用了较多的List集合,需要的小伙伴可以用来看一看。
下面是系统的窗体界面: