首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

java编纂的专家系统(人工智能)动物识别

2012-12-24 
java编写的专家系统(人工智能)动物识别这学期学的人工智能,韩老师要求我们要做一个专家系统,虽然试验用的

java编写的专家系统(人工智能)动物识别

这学期学的人工智能,韩老师要求我们要做一个专家系统,虽然试验用的是prolog语言,但是本人不懂啊!只是个java狂爱者,于是用java搞了以下这个动物识别专家系统

?

java编纂的专家系统(人工智能)动物识别

?

?


import java.awt.*; //包含用于创建用户界面和绘制图形图像的所有类
import java.awt.event.*;?? //提供处理由 AWT 组件所激发的各类事件的接口和类


public class MainFrame extends Frame implements ActionListener {

/**
* @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");
?????? }

}

?

热点排行