import java.awt.*; //包含用于建立用户界面和绘制图形图像的全部类

import java.awt.event.*;   //提供处理由 AWT 组件所激发的各种事件的接口和类人工智能

public class MainFrame extends Frame implements ActionListener {orm

/**

* @param args

*/

static MainFrame frm=new MainFrame();

static Checkbox ckb1=new Checkbox("有毛发");

static Checkbox ckb2=new Checkbox("有奶");

static Checkbox ckb3=new Checkbox("有羽毛");

static Checkbox ckb4=new Checkbox("会飞生蛋");

static Checkbox ckb5=new Checkbox("吃肉");

static Checkbox ckb6=new Checkbox("有犬齿,有爪眼睛,紧盯着前方");

static Checkbox ckb7=new Checkbox("反刍食物");

static Checkbox ckb8=new Checkbox("黄褐色有黑的斑点");

static Checkbox ckb9=new Checkbox("黄褐色有黑色条纹");

static Checkbox ckb10=new Checkbox("有长腿长脖子,黄褐色暗斑点");

static Checkbox ckb11=new Checkbox("白色有黑条纹");

static Checkbox ckb12=new Checkbox("不会飞,长腿长脖子,黑白色");

static Checkbox ckb13=new Checkbox("不会飞,黑白色,会游泳");

static Checkbox ckb14=new Checkbox("善飞");

static Checkbox ckb15=new Checkbox("有蹄");

static Label lab=new Label("显示动物名");

static Button but1=new Button("肯定");

static Button but2=new Button("重设");

public static void main(String[] args) {

// TODO Auto-generated method stub

frm.setSize(400,300);

frm.setTitle("动物识别系统");

frm.setLayout(new FlowLayout(FlowLayout.LEFT));

lab.setBackground(Color.green);

/* ckb1.addItemListener(frm);

ckb2.addItemListener(frm);

ckb3.addItemListener(frm);

ckb4.addItemListener(frm);

ckb5.addItemListener(frm);

ckb8.addItemListener(frm);

ckb9.addItemListener(frm);

ckb11.addItemListener(frm);

ckb10.addItemListener(frm);

ckb14.addItemListener(frm);

ckb7.addItemListener(frm);

ckb12.addItemListener(frm);

ckb13.addItemListener(frm);

ckb6.addItemListener(frm);

ckb15.addItemListener(frm);*/

lab.setAlignment(Label.CENTER);

but1.addActionListener(frm);

but2.addActionListener(frm);

frm.add(lab);

frm.add(ckb1);

frm.add(ckb2);

frm.add(ckb3);

frm.add(ckb4);

frm.add(ckb6);

frm.add(ckb8);

frm.add(ckb9);

frm.add(ckb11);

frm.add(ckb12);

frm.add(ckb14);

frm.add(ckb5);

frm.add(ckb7);

frm.add(ckb10);

frm.add(ckb13);

frm.add(ckb15);

frm.add(but1);

frm.add(but2);

frm.setVisible(true);

frm.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});

}

public void itemStateChanged( ItemEvent e) //这个是推理机

{

if((ckb1.getState()==true||ckb2.getState()==true)&&(ckb6.getState()==true||ckb5.getState()==true)&&(ckb8.getState()==true))

lab.setText(" 金钱豹 ") ;

else if((ckb1.getState()==true||ckb2.getState()==true)&&(ckb6.getState()==true||ckb5.getState()==true)&&(ckb9.getState()==true))

lab.setText("老虎");

else if((ckb1.getState()==true||ckb2.getState()==true)&&(ckb7.getState()==true||ckb15.getState()==true)&&(ckb10.getState()==true))

lab.setText("长颈鹿");

else if((ckb1.getState()==true||ckb2.getState()==true)&&(ckb7.getState()==true||ckb15.getState()==true)&&(ckb10.getState()==true))

lab.setText("斑马");

else if((ckb3.getState()==true||ckb4.getState()==true)&&(ckb13.getState()==true))

lab.setText("企鹅");

else if((ckb3.getState()==true||ckb4.getState()==true)&&(ckb14.getState()==true))

lab.setText("信天翁");

else lab.setText("sorry");

}

public void actionPerformed(ActionEvent e) //这部分是结果的显示

{

Button but=(Button)e.getSource();

if((but==but1)&&(ckb1.getState()==true||ckb2.getState()==true)&&(ckb6.getState()==true||ckb5.getState()==true)&&(ckb8.getState()==true))

{

lab.setText(" 金钱豹 ") ;

}

else if((but==but1)&&(ckb1.getState()==true||ckb2.getState()==true)&&(ckb6.getState()==true||ckb5.getState()==true)&&(ckb9.getState()==true))

lab.setText("老虎");

else if((but==but1)&&(ckb1.getState()==true||ckb2.getState()==true)&&(ckb7.getState()==true||ckb15.getState()==true)&&(ckb10.getState()==true))

lab.setText("长颈鹿");

else if((but==but1)&&(ckb1.getState()==true||ckb2.getState()==true)&&(ckb7.getState()==true||ckb15.getState()==true)&&(ckb10.getState()==true))

lab.setText("斑马");

else if((but==but1)&&(ckb3.getState()==true||ckb4.getState()==true)&&(ckb13.getState()==true))

lab.setText("企鹅");

else if((but==but1)&&(ckb3.getState()==true||ckb4.getState()==true)&&(ckb14.getState()==true))

lab.setText("信天翁");

else if(but==but2)

{

/*设置初始的状态为未选定*/

ckb1.setState(false);

ckb2.setState(false);

ckb3.setState(false);

ckb4.setState(false);

ckb5.setState(false);

ckb6.setState(false);

ckb7.setState(false);

ckb8.setState(false);

ckb9.setState(false);

ckb10.setState(false);

ckb11.setState(false);

ckb12.setState(false);

ckb13.setState(false);

ckb14.setState(false);

ckb15.setState(false);

lab.setText("显示动物名");

}

else lab.setText("sorry");

}blog

}接口

java动物识别_java编写的专家系统(人工智能)动物识别相关推荐

  1. java制造病毒_java编写病毒的可行性分析

    java编写病毒的可行性分析 最近心情十分郁闷,查阅一些病毒的资料消遣一下,居然发现这样的论调讲 java语言不可能编写病毒,在此特地反驳一下. 1 可执行 论调1:java需要依赖jre,无法在无j ...

  2. java编写动物乐园_Java面向对象的练习。动物乐园

    本次项目是:以面向对象的思想设计动物乐园系统. 动物乐园中有猫,狗,鸭子等成员,还可以增加新成员. 猫和鸭子都有自己的名字,都有自己的腿,但腿的条数不同,猫和鸭子会发出叫声,猫的叫声是:喵喵喵--,鸭 ...

  3. java 定时删除_Java编写定时删除文件程序

    Java编写定时删除文件程序 /*Java教程:http://www.javaweb.cc*/ import java.io.File; import java.util.Calendar; impo ...

  4. java opencv人脸识别_java+opencv+intellij idea实现人脸识别

    首先当然是需要安装opencv了,我用的是opencv2.4.13.下载完之后就可以直接安装了,安装过程也很简单,直接下一步下一步就好,我就不上图了. 接下来在opencv下找到jar包,比如我直接安 ...

  5. 虹软java接摄像头_java基于虹软sdk实现人脸识别(demo)

    开发环境准备: 开发使用到的软件和工具: Jdk8. mysql 5.7.libarcsoft_face.dll(so).libarcsoft_face_engine.dll(so).libarcso ...

  6. java图片降噪_Java基于opencv实现图像数字识别(四)—图像降噪

    Java基于opencv实现图像数字识别(四)-图像降噪 我们每一步的工作都是基于前一步的,我们先把我们前面的几个函数封装成一个工具类,以后我们所有的函数都基于这个工具类 这个工具类呢,就一个成员变量 ...

  7. java程序步骤_java编写程序的步骤是什么?java编写程序步骤实例讲解

    写java编程就是一步一步的来,这样才会写好一个编程,之后也才能正常的运行,那么java编写程序的步骤是什么?今天我们就来给大家讲解一下这方面的内容.大家可以参考以下文章! 1.编写源文件 使用文本编 ...

  8. java动物代码_Java基于接口实现模拟动物声音代码实例

    (1)编写接口Animal (Animal.java) public interface Animal{ public abstract void cry(); public abstract Str ...

  9. java 固定电话_Java 编写过滤手机号码或者固定电话的工具类

    以下是分享自己编写的用于过滤手机号码.固定电话.黑名单的工具类TelCheckUtils, import java.util.HashSet; import java.util.Set; import ...

最新文章

  1. assimp为什么获得一个黑色的图形_论文图形数据获取工具: Web Plot Digitizer应用详解...
  2. [elixir! #0043] 精确到 1bit 的字符串处理
  3. C语言两个日期比大小,C语言小程序 如何判断两个日期之差
  4. python为什么不能自动语法_Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?...
  5. c#获取对象的唯一标识_Articy Importer Guide - 01 基本对象处理
  6. 直播报名 | 零基础 零代码 AI智能营销应用现场教学
  7. 分布式数据库的应用(一)
  8. CVTE前端笔试编程题
  9. lan pci 联想开机_微软承认KB4568831导致部分联想ThinkPad笔记本崩溃和蓝屏
  10. 吊炸天的 Kafka 图形化工具 Eagle,必须推荐给你!
  11. 为啥有的人能受穷,却不能吃苦?
  12. 872. Leaf-Similar Trees - LeetCode
  13. 插件地址(eclipse jrebel jed)、问题
  14. java 二进制文件修改_Java读写二进制文件操作
  15. coreos(coreos介绍)
  16. Visio如何绘制数据流图
  17. MTK6589手机工程模式调大各种音量方法
  18. 金鱼的养殖知识大全(一)
  19. html5 css 插入视频,HTML+CSS入门 HTML网页中插入视频各种方法
  20. sql优化之终极方案

热门文章

  1. 狄克斯特拉算法 - 学习整理
  2. Excel作图-显示多层分类轴标签
  3. 设f(x)=∑x^n/n^2,证明f(x)+f(1-x)+lnxln(1-x)=∑1/n^2
  4. 力扣88 - 合并两个有序数组【归并排序思维】
  5. Android四大组件Service之AIDL详解
  6. Postman发送带cookie的http请求
  7. git更换主分支master
  8. 荣耀magic3pro和华为p50pro对比哪个好
  9. excel 把已有的数据做成图表
  10. Android APP 增量更新demo