您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页决策支持系统实验报告

决策支持系统实验报告

来源:五一七教育网


安 徽 工 业 大 学

决策支持系统课程设计

* 名: * * 学 号: ********* 班 级: 息 111 班 专 业:信息管理与信息系统 指导老师: * *

决策支持系统实验报告书

决策支持系统实验报告

一:实验简介:

本实验是利用JAVA语言编写的简单小程序,可以用Eclipse运行。在本实验中,用String[] 数组代替数据库,也可以得到相同的结果。其中,Stirng[]数组 每一个数组单元都是String类型,可以存储相关的数据,类似于数据库的功能。

二:代码功能:

该代码可以实现“正向推理”,“逆向推理”,还有“退出”确定等选项;可以进行正向推理,逆向推理还有退出。

三.相关代码:

代码一:(knowledgeActivity类)

package knowledgeActivity;

import java.awt.event.* ; import java.awt.* ; import javax.swing.* ;

public class KnowledgePractise { JFrame frame ;

public KnowledgePractise(){

frame = new JFrame (\"知识库测试窗口\") ; //以下设置菜单项

JMenuBar menubar = new JMenuBar () ; frame.setJMenuBar (menubar) ;

JMenu forward_menu = new JMenu (\" 正向推理 \") ; JMenu backward_menu = new JMenu (\" 逆向推理 \") ; JMenu edit_menu = new JMenu(\"编辑\") ; menubar.add (forward_menu) ; menubar.add (backward_menu) ; menubar.add (edit_menu) ;

JMenuItem newf_item = new JMenuItem (\"新建正向推理\") ; JMenuItem newb_item = new JMenuItem (\"新建逆向推理\") ; JMenuItem exit_item = new JMenuItem (\"退出\") ; forward_menu.add (newf_item) ; backward_menu.add (newb_item) ; edit_menu.add (exit_item) ;

1

决策支持系统实验报告书

//设置窗口出现位置

Toolkit kit = Toolkit.getDefaultToolkit() ; Dimension screenSize = kit.getScreenSize () ; int width = screenSize.width ; int height = screenSize.height ; int x = (width-500)/2 ; int y = (height-400)/2 ;

//添加事件监听

newf_item.addActionListener (new ActionListener (){ @Override

public void actionPerformed(ActionEvent e) { new NewF() ; } }) ;

newb_item.addActionListener (new ActionListener () { @Override

public void actionPerformed(ActionEvent e) { new NewB() ; } }) ;

exit_item.addActionListener(new ActionListener () {

@Override

public void actionPerformed(ActionEvent e) {

int i = JOptionPane.showConfirmDialog(null,\"是否真的退出系统\",\"退出系统对话框\",JOptionPane.YES_NO_CANCEL_OPTION) ; if (i == 0){

frame.dispose () ; } } }) ;

JPanel panel = new JPanel () ;

panel.setLayout (new BorderLayout ()) ; frame.setContentPane (panel) ; JPanel panel1 = new JPanel () ;

panel1.setLayout (new GridLayout (4,1)) ;

JLabel label1 = new JLabel (\" 欢迎进入知识库系统!

2

决策支持系统实验报告书

\") ;

JLabel label2 = new JLabel (\" welcom to knowledge system!\") ; \") ;

JLabel label3 = new JLabel (\" 作者: 束 豪

JLabel label4 = new JLabel (\" 学号: 119094277 \") ;

panel1.add (label1) ; panel1.add (label2) ; panel1.add (label3) ; panel1.add (label4) ;

panel.add (panel1,\"North\") ;

frame.setSize (500,400) ; frame.setLocation (x,y) ;

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) ; frame.setVisible (true) ; }

public static void main (String[] args){ ; }

try {//以下设置窗口的显示风格

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()) }

} catch (Exception e){}

new KnowledgePractise() ;

本代码是本实验的核心内容,控制代码的大部分界面,还有事件监听等动作,包括主函数 代码二:(NewF类)

package knowledgeActivity;

import java.awt.event.* ;

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.* ;

public class NewF { String[] tiger = {\"动物\四足行走\有毛发\吃肉\黄褐色\黑色条纹\ String[] chicken = {\"动物\双足行走\有羽毛\不吃肉\各色\均可\

3

决策支持系统实验报告书

String[] human = {\"动物\双足行走\有毛发\吃肉\黄色\无条纹\String[] bird = {\"动物\会飞\有羽毛\不吃肉\各色\均可\String[] fish = {\"动物\会游泳\有鳞片\不吃肉\银色\无条纹\String[] selected = new String[6] ; JButton btn_continue ; JLabel text_label ; JComboBox combox ; JLabel title_label ; JPanel panel ;

public NewF (){ JFrame frame = new JFrame (\"正向推理窗口\") ; panel = new JPanel () ; frame.setContentPane (panel) ; panel.setLayout (new BorderLayout ()) ; Toolkit kit = Toolkit.getDefaultToolkit() ; Dimension screenSize = kit.getScreenSize () ; int width = screenSize.width ; int height = screenSize.height ; int x = (width-450)/2 ; int y = (height-350)/2 ; title_label = new JLabel (\"请输入符合的条件:\") ; panel.add (title_label,\"North\") ; text_label = new JLabel (\"是否为动物?\") ; panel.add (text_label,\"Center\") ; combox = new JComboBox () ; combox.addItem (\"动物\") ; combox.addItem (\"植物\") ; panel.add (combox,\"East\") ; btn_continue = new JButton (\"第一步\") ; panel.add (btn_continue,\"South\") ; btn_continue.addActionListener (new ActionListener () {

@Override

public void actionPerformed(ActionEvent e) { if (btn_continue.getText().equals(\"第一步\")){ selected[0] = combox.getSelectedItem().toString() ; title_label.setText(\"上次您选择的是:\"+selected[0]) ; btn_continue.setText (\"第二步\") ;

4

决策支持系统实验报告书

text_label.setText (\"行走方式:\") ; combox.removeItem(\"植物\") ; combox.removeItem(\"动物\") ; combox.addItem (\"四足行走\") ; combox.addItem (\"双足行走\") ; combox.addItem (\"会飞\") ; combox.addItem (\"会游泳\") ; }else if ( btn_continue.getText().equals(\"第二步\")){ selected[1] = combox.getSelectedItem().toString() ; title_label.setText(\"上次您选择的是:\"+selected[1]) ; btn_continue.setText (\"第三步\") ; text_label.setText (\"有无毛发:\") ; combox.removeItem (\"四足行走\") ; combox.removeItem (\"双足行走\") ; combox.removeItem (\"会飞\") ; combox.removeItem (\"会游泳\") ; combox.addItem (\"有毛发\") ; combox.addItem (\"有羽毛\") ; combox.addItem (\"有鳞片\") ;

}else if (btn_continue.getText().equals(\"第三步\")){ selected[2] = combox.getSelectedItem().toString() ; title_label.setText(\"上次您选择的是:\"+selected[2]) ; btn_continue.setText (\"第四步\") ; text_label.setText (\"是否吃肉:\") ; combox.removeItem (\"有毛发\") ; combox.removeItem (\"有羽毛\") ; combox.removeItem (\"有鳞片\") ; combox.addItem (\"吃肉\") ; combox.addItem (\"不吃肉\") ;

}else if (btn_continue.getText().equals(\"第四步\")){ selected[3] = combox.getSelectedItem().toString() ; title_label.setText(\"上次您选择的是:\"+selected[3]) ; btn_continue.setText (\"第五步\") ; text_label.setText (\"身体颜色:\") ; combox.removeItem (\"吃肉\") ; combox.removeItem (\"不吃肉\") ; combox.addItem (\"黄褐色\") ; combox.addItem (\"各色\") ; combox.addItem (\"黄色\") ; combox.addItem (\"银色\") ;

}else if (btn_continue.getText().equals(\"第五步\")){ selected[4] = combox.getSelectedItem().toString() ; title_label.setText(\"上次您选择的是:\"+selected[4]) ;

5

决策支持系统实验报告书

btn_continue.setText (\"最终结果\") ; text_label.setText (\"身体条纹颜色:\") ; combox.removeItem (\"黄褐色\") ; combox.removeItem (\"各色\") ; combox.removeItem (\"黄色\") ; combox.removeItem (\"银色\") ; combox.addItem (\"黑色条纹\") ; combox.addItem (\"均可\") ; combox.addItem (\"无条纹\") ; panel.add (combox,\"East\") ; }else if (btn_continue.getText().equals(\"最终结果\")){ selected[5] = combox.getSelectedItem().toString() ; JLabel label = new JLabel () ; panel.remove(text_label) ; panel.remove(combox) ; panel.remove(btn_continue) ; panel.remove(title_label) ; panel.add (label) ; if ((selected[0] == tiger[0])&&(selected[1] ==

tiger[1])&&(selected[2] == tiger[2])&&(selected[3] == tiger[3])&&(selected[4] == tiger[4])&&(selected[5] == tiger[5])){ label.setText(\"您选择的是: 老虎 \") ; }else if

((selected[0].equals(chicken[0]))&&(selected[1].equals(chicken[1]))&&(selected[2].equals(chicken[2]))&&(selected[3].equals(chicken[3]))&&(selected[4].equals(chicken[4]))&&(selected[5].equals(chicken[5]))){ label.setText(\"您选择的是: 小鸡 \") ; }else if ((selected[0] == human[0])&&(selected[1] ==

human[1])&&(selected[2] == human[2])&&(selected[3] == human[3])&&(selected[4] == human[4])&&(selected[5] == human[5])){ label.setText(\"您选择的是: 人类 \") ; }else if ((selected[0] == bird[0])&&(selected[1] ==

bird[1])&&(selected[2] == bird[2])&&(selected[3] == bird[3])&&(selected[4] == bird[4])&&(selected[5] == bird[5])){ label.setText(\"您选择的是: 小鸟 \") ; }else if ((selected[0] == fish[0])&&(selected[1] ==

fish[1])&&(selected[2] == fish[2])&&(selected[3] == fish[3])&&(selected[4] == fish[4])&&(selected[5] == fish[5])){ label.setText(\"您选择的是: 鱼 \") ; }else{ label.setText(\"抱歉,您选择的物种暂不在数据库中! \") ; }

6

决策支持系统实验报告书

} } }) ; frame.setSize (200,100) ; frame.setLocation (x,y) ; frame.setVisible (true) ; } }

该类实现正向推理

代码三:(NewB类)

package knowledgeActivity;

import javax.swing.* ; import java.awt.* ;

import java.awt.event.* ;

import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel;

public class NewB { String[] tiger = {\"老虎\食肉动物\黄褐色\黑色条纹\有爪\有犬齿\目盯前方\哺乳动物\有奶\ String[] chicken = {\"小鸡\食草动物\多色\均可\有爪\有喙\目盯前方\非哺乳动物\无奶\ String[] human = {\"人类\食肉动物\黄色\无条纹\有爪\有犬齿\目盯前方\哺乳动物\有奶\ String[] bird = {\"小鸟\食草动物\多色\均可\有爪\有喙\目盯前方\非哺乳动物\无奶\ String[] fish = {\"鱼\食草动物\银色\无条纹\无爪\有齿\目盯前方\非哺乳动物\无奶\ String[] selected = new String[1] ; JButton btn_continue ; JLabel text_label ; JComboBox combox ; JLabel title_label ; JPanel panel ; public NewB () { JFrame frame = new JFrame (\"反向推理窗口\") ;

7

决策支持系统实验报告书

panel = new JPanel () ; frame.setContentPane (panel) ; panel.setLayout (new BorderLayout ()) ; Toolkit kit = Toolkit.getDefaultToolkit() ; Dimension screenSize = kit.getScreenSize () ; int width = screenSize.width ; int height = screenSize.height ; int x = (width-450)/2 ; int y = (height-350)/2 ; title_label = new JLabel (\"请选择相关动物:\") ; panel.add (title_label,\"North\") ; text_label = new JLabel (\"该动物是:\") ; panel.add (text_label,\"Center\") ; combox = new JComboBox () ; combox.addItem (\"老虎\") ; combox.addItem (\"小鸡\") ; combox.addItem (\"人类\") ; combox.addItem (\"小鸟\") ; combox.addItem (\"鱼\") ; panel.add (combox,\"East\") ; btn_continue = new JButton (\"相关信息\") ; panel.add (btn_continue,\"South\") ; btn_continue.addActionListener (new ActionListener () { @Override public void actionPerformed(ActionEvent e) { if (btn_continue.getText().equals(\"相关信息\")){ selected[0] = combox.getSelectedItem ().toString() ; panel.remove(btn_continue) ; panel.remove(combox) ; panel.remove(title_label) ; if(selected[0].equals(\"老虎\")){ text_label.setText (\"\"+tiger[0]+\":

\"+tiger[1]+\+\ }else if (selected[0].equals(\"小鸡\")){ text_label.setText (\"\"+chicken[0]+\":

\"+chicken[1]+\n[6]+\

8

决策支持系统实验报告书

}else if (selected[0].equals(\"人类\")){ text_label.setText (\"\"+human[0]+\":

\"+human[1]+\6]+\ }else if (selected[0].equals(\"小鸟\")){ text_label.setText (\"\"+bird[0]+\":

\"+bird[1]+\bird[8]) ; }else if (selected[0].equals(\"鱼\")){ text_label.setText (\"\"+fish[0]+\":

\"+fish[1]+\h[8]) ; } } } }) ; frame.setSize (200,100) ; frame.setLocation (x,y) ; frame.setVisible (true) ; } }

该代码可以实现逆向查询。

四、相关截图:

(1)正向推理:

9

决策支持系统实验报告书

(2)逆向推理:

10

决策支持系统实验报告书

五、备注:

虽然三个代码可以合并成一个,但为了实现代码的高可读性,故分成3部分。

11

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务