利用产生式规则制作简单动物知识库识别系统

编程入门 行业动态 更新时间:2024-10-09 22:23:48

利用产生式规则制作简单动物<a href=https://www.elefans.com/category/jswz/34/1768615.html style=知识库识别系统"/>

利用产生式规则制作简单动物知识库识别系统

利用条件判断语句模拟产生式规则进行推理,中途可以中断推理,也可使推理进行到底。使用GO输入可使推理进行到底,使用END输入可提前终止推理。

package com.tylg.animals1;import java.util.Scanner;public class Testing {public static void main(String[] args) {System.out.println("请输入 S、K、L以表示该动物是属于水、空、陆中的其中一种");Scanner sc = new Scanner(System.in);String s = judge1(sc.nextLine());inferenceMachine(sc, s);				// 推理机}private static void inferenceMachine(Scanner sc, String s) {if(s.equals("S")) {System.out.println("请您摁下 GO 或者 END");String s12 = judge2(sc.nextLine());if (s12.equals("END")) {System.out.println("您要找的是:水生动物");} else {System.out.println("您所要查询的水生动物是否用肺呼吸(Y or N)");String s13 = judge0(sc.nextLine());if (s13.equals("Y")) {System.out.println("请您摁下 GO 或者 END");String s13_ = judge2(sc.nextLine());if (s13_.equals("END")) {System.out.println("您要找的是:鲸鱼");} else {System.out.println("您所要查询的用肺呼吸的水生动物是否有牙齿(Y or N)");String s14 = judge0(sc.nextLine());if (s14.equals("Y")) {System.out.println("您要找的动物是:虎鲸");} else {System.out.println("您要找的动物是:须鲸");}}} else if (s13.equals("N")) {System.out.println("您要找的是用腮呼吸的是:普通鱼🐟");}}}else if(s.equals("K")) {System.out.println("请您摁下 GO or END");String s21 = judge2(sc.nextLine());if (s21.equals("GO")) {System.out.println("请问该空中动物是节肢动物吗?(Y or N)");String s21_ = judge0(sc.nextLine());if (s21_.equals("Y")) {System.out.println("请您摁下 GO or END");String s22 = judge2(sc.nextLine());if (s22.equals("GO")) {System.out.println("请问该空中飞行的节肢动物是害虫还是益虫:害虫为N,益虫为Y?");String s22_ = judge0(sc.nextLine());if (s22_.equals("Y")) {System.out.println("您所查询的为:蜜蜂");} else {System.out.println("您所查询的为:蝗虫");}} else {System.out.println("您输入的是:空中飞行的节肢动物");}} else {System.out.println("请您摁下 GO or END");String s23 = judge2(sc.nextLine());if (s23.equals("GO")) {System.out.println("请问该空中飞行的非节肢动物能否模仿人类说话(Y or N)");String s23_ = judge0(sc.nextLine());if (s23_.equals("Y")) {System.out.println("您所查询的是:鹦鹉");} else {System.out.println("您所查询的是:麻雀");}} else {System.out.println("您输入的是:空中飞行的非节肢动物");}}} else {System.out.println("您输入的是:空中动物");}}else if(s.equals("L")) {System.out.println("请您摁下 GO or END");String s21 = judge2(sc.nextLine());if (s21.equals("GO")) {System.out.println("请问该陆地动物是食肉动物还是食草动物 食肉用Y,食草用N?");String s21_ = judge0(sc.nextLine());if (s21_.equals("Y")) {System.out.println("请您摁下 GO or END");String s22 = judge2(sc.nextLine());if (s22.equals("GO")) {System.out.println("请问该动物是否为猫科动物?(Y or N)");String s22_ = judge0(sc.nextLine());if (s22_.equals("Y")) {System.out.println("您所查询的为:老虎");} else {System.out.println("您所查询的为:狼");}} else {System.out.println("您输入的是:陆地上的食肉动物");}} else {System.out.println("请您摁下 GO or END");String s23 = judge2(sc.nextLine());if (s23.equals("GO")) {System.out.println("请问该动物是否有角(Y or N)");String s23_ = judge0(sc.nextLine());if (s23_.equals("Y")) {System.out.println("您所查询的是:山羊");} else {System.out.println("您所查询的是:熊猫");}} else {System.out.println("您输入的是:食草动物");}}} else {System.out.println("您输入的是:陆地动物");}}else {System.out.println("程序运行出错了,请重新运行!!!");}}/*判断输入是否为 Y or N,若不是则循环采集正确格式*/public static String judge0(String s) {Scanner sc = new Scanner(System.in);while (!(s.equals("Y") || s.equals("N"))) {System.out.println("您输入的字母有误,请重新输入:Y, N");String ss = sc.nextLine();s = ss;}return s;}/*判断输入是否为 L、K or S,若不是则循环采集正确格式*/public static String judge1(String s) {Scanner sc = new Scanner(System.in);while (!(s.equals("L") || s.equals("K") || s.equals("S"))) {System.out.println("您输入的字母有误,请重新输入:L, K, S");String ss = sc.nextLine();s = ss;}return s;}/*判断输入是否为 END or GO,若不是则循环采集正确格式*/public static String judge2(String s) {Scanner sc = new Scanner(System.in);while (!(s.equals("END") || s.equals("GO"))) {System.out.println("您输入的指令有误,请重新输入:END or GO");String ss = sc.nextLine();s = ss;}return s;}}

更多推荐

利用产生式规则制作简单动物知识库识别系统

本文发布于:2024-02-13 06:30:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757504.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:知识库   识别系统   规则   动物   简单

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!