JAVA洗衣机仿真程序实验报告及代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.实验题目:用java编写洗衣机仿真程序

二.实验目的:

1.熟悉并掌握洗衣机(全自动)的工作原理和运行过程.

2.学会软件工程设计中的一系列分析研究,对需求分析,可行性研究,软件

模型等有一定的了解,为以后的软件设计工作打下良好的基础。

3.通过的洗衣机仿真系统的编写与学习,加深了对Java这门语言的了解,

对其中的类的设计,类之间的关系,界面的设计(按钮及布局的设计)有了更深的了解与体会,为Java的学习做好准备工作。

三.实验要求:

了解全自动洗衣机的简单工作过程及实现。其中包括,洗衣的方式(标准或是柔和)、洗衣中的水位选择(高水位洗衣、低水位洗衣等)等方面需要在人们将衣服放入洗衣机洗衣服之后手动来选择;并且是必须选择的洗衣参数。当选择了一种洗衣参数后,按下启动按钮,洗衣机就会自动完成洗衣服的整个过程。在满足基本功能以外,还需要尽量考虑外观、造型、节水等方面的设计,符合人机界面的基本要求。

四.实验分析:

1.洗衣机需求分析:

标准清洗:浸泡/清洗/甩干

快速清洗:清洗/甩干

大件衣物(冬衣,牛仔类):浸泡(温水,延长浸泡/清洗(延长筒转时间)/甩干床单,窗帘类:浸泡(温水)/清洗

根据衣物的不同用按钮选择上述洗衣模式即可.其中甩干可选可不选.

尽量设计了一个节水功能,可以实现水回收.在无需甩干时水不流走,余下的水可做其他用途,实现节水.

2.主要的类实现

(1).继承类

(2).包括进水,排水,洗涤,漂洗,甩干等成员函数

(3).水位的选择通过参数传递决定进水函数

(4).其余通过调用筒的转动函数(run)并通过一定的参数控制实现

3.程序设计步骤

≡≥选择水温

≡≥放入衣物

≡≥选择洗衣模式

≡≥脱水

≡≥排水

≡≥烘干

≡≥关闭

五.设计与实现过程:

1.洗衣机类的部分实现:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Washing extends JApplet{

private JFrame jf;

private JButton jb1,jb2,jb3,jb4,jb5,jb6;

public static void main(String[] args){

Washing flowTest=new Washing();

flowTest.setSize(270,160);

flowTest.go();

//flowTest.show(true);

}

public void go(){

jf=new JFrame("洗衣机功能模拟器");

Container cp=jf.getContentPane();

cp.setLayout(null);

jb1=new JButton("入水");

jb2=new JButton("加衣");

jb3=new JButton("脱水");

jb4=new JButton("排水");

jb5=new JButton("烘干");

jb6=new JButton("关闭");

// Container cp=jf.getContentPane();

// cp.setLayout(new BorderLayout());

jb1.setBounds(10, 10, 80, 80);

cp.add(jb1); //指定组件追加到这个容器的末尾。这是一个方便的方法为addImpl。

//注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用验证只有一次,已添加的所有组件后提高效率。

jb2.setBounds(110, 10, 80, 80);

cp.add(jb2);

jb3.setBounds(210, 10, 80, 80);

cp.add(jb3);

jb4.setBounds(310, 10, 80, 80);

cp.add(jb4);

jb5.setBounds(410, 10, 80, 80);

cp.add(jb5);

jb6.setBounds(510, 10, 80, 80);

cp.add(jb6);

// jb7.setBounds(200, 50, 100, 20);

// cp.add(jb7);

//cp.setSize(500, 400); //没用?//调整这个组件,所以它具有宽的宽度和高度高度。

//cp.add(BorderLayout.SOUTH,jb7);

jb1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae){

Shuiwen wen=new Shuiwen();

}

});

jb2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae){

Yiwu yi=new Yiwu();

yi.go();

//flowTest.go();

}

});

jb4.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae){

Chushui Chu=new Chushui();

}

});

jb5.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae){

//Piaoxi piao=new Piaoxi();

Honggan hong=new Honggan();

//Thread t=new Thread(hong);

// t.start();

}

});

jb3.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae){

Tuoshui tuo=new Tuoshui();

}

});

jb6.addActionListener(new ActionListener(){ //ActionListener接收动作事件的监听器接口。在处理动作事件感兴趣的类实现这个接口,这个类创建的对象注册一个组件,使用组件的addActionListener方法。动作事件发生时,该对象的actionPerformed方法被调用。

public void actionPerformed(ActionEvent ae){

System.exit(0);

}

相关文档
最新文档