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

📄 searchanimal.java

📁 基于Web的动物识别专家系统(Java实现)
💻 JAVA
字号:


import java.util.*;



//该类是控制类,负责除主窗口类以外的类的生成
public class SearchAnimal {
	private ProduceRule produceRule;

	private Thinker thinker;

	private ArrayList<Rule> rulesList;

	private List<ArrayList> sumList;

	private ArrayList<ArrayList<String>> conditList;

	private ArrayList<String> resultList;

	@SuppressWarnings("unchecked")
	public SearchAnimal(ArrayList<String> userDemandList) {
		rulesList = new ArrayList<Rule>();

		thinker = new Thinker(userDemandList);

		produceRule = new ProduceRule();

		sumList = produceRule.readFile();

		if (sumList.size() == 2) {
			conditList = sumList.get(0);

			resultList = sumList.get(1);
			
			/*生成规则,并放置在rulesList列表中*/
			for (int i = 0; i < conditList.size(); i++) {
				ArrayList<String> tempList = new ArrayList<String>();

				for (String temp : conditList.get(i)) {
					tempList.add(temp);

				}
				String tempString = new String(resultList.get(i));

				rulesList.add(new Rule(tempList, tempString));
			}

		}

	}

	/*根据用户选择的模式:简单或详细模式,调用不同的推理方法,
	 * 默认条件下(条件为真),是调用详细模式*/
	public String search(boolean odd) {
		if(odd){
		return thinker.find(rulesList);             //详细推理方法
		}
		 return thinker.findCause(rulesList);      //简单推理方法
		
	}

	/*以下两个方法体实现获得到推理步骤*/
	public List<ArrayList> getInfCause() {
		return thinker.getInfCause();

	}

	public List<String> getInfResult() {
		return thinker.getInfResult();

	}

}

⌨️ 快捷键说明

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