面向对象分析建模之自动售货机案例
- 格式:ppt
- 大小:151.00 KB
- 文档页数:4
摘要在今天的工业生产中,可编程序控制器已经成为实现工业自动化的关键。
本文简要介绍了有关可编程序控制器的一些基础知识和三维力控组态软件的简单应用,而且,还介绍了可编程控制器的技术特点,并重点在硬件、软件和组态软件方面进行了介绍。
对它们在工业自动化中的典型应用、最新的技术发展趋势也作了介绍。
在这次毕业设计中,我以PLC原理为基础、利用三维仿真力控软件设计了自动售货机系统,利用松下编程软件FPWIN-GR编制了相应的PLC应用控制程序并进行了调试和三维力控组态软件ForceControl编制了自动售货机系统,完成了设计的基本要求.采用可编程序控制器进行实际生产过程控制,顺序严格,可靠性高。
关键词:可编程序控制器;自动售货机;仿真;三维力控组态软件AbstractIn today‟s factories, programmable logic controllers(PLC) have become the key building blocks of industrial automation. Some basic knowledge of programmable logic controller is introduced in the paper. Moreover, the technical features, application status and technology development of PLC is presented in this paper.The hardware, software and network structure of PLC are introduced in detail. An introduction of their typical applications in industrial automation, the latest development trend and system considerations are also introduced.V ending machine system is regarded as a project to design the programmable logic controller practical system. The applied system design of water treatment system is finished by the use of FP1 C24 programmable logic controller and ForceControl 2.6. Controlling software about this system are designed, While emulation research are done in the lab.Good succession and high reliability of real production process control due to the use of programmable logic controller are available. The analog test method given in the paper may be applied to lab teach.Subject T ermsProgrammable logic controller,Forcecontrol,Simulation,vending machine目录第一章可编程控制器的基本知识 (5)1.1 可编程控制器的产生与发展 (5)1.2 可编程序控制器的特点和应用........................................................... .. (6)1.3 可编程序控制器与其他工业装置的比较 (8)1.4 可编程控制器的应用场合 (9)1.5 可编程控制器的发展趋势 (10)第二章可编程控制器的组成和基本原理 (11)2.1 可编程控制器组成的控制系统 (12)2.2 可编程控制器的组成 (13)2.3 可编程控制器的基本工作原理 (14)2.4 PLC的几种编程语言 (15)2.5 立石公司C系列P型机的基本特征 (18)2.6 松下电工可编程控制器产品-FP1介绍 (19)2.7 可编程控制器的编程编制 (21)第三章松下电工PLC编程工具及三维组态软件的介绍 (21)3.1 松下电工PLC编程工具简介 (21)3.2 监控组态软件简介 (22)第四章基于PLC原理的自动售货机的设计 (25)4.1 仿真系统组成 (25)4.2 自动售货机功能分析 (25)4.3 设计任务的确定 (27)4.4 程序设计部分 (27)4.5 仿真界面的设计 (31)4.6 仿真界面中各变量的定义 (32)4.7 数据连接 (32)4.8 自动售货机PLC梯形图 (35)4.9 助记符语言 (40)结束语 (49)参考文献 (50)第一章可编程控制器的基本知识第一节可编程控制器产生与发展可编程控制器问世于1969年。
C语⾔编程例⼦-模拟⾃动售货机演⽰版本VS2013模拟⾃动售货机实例说明:设计⼀个⾃动售货机的程序,运⾏程序,提⽰⽤户输⼊要选择的选项,当⽤户输⼊以后,提⽰所选择的内容。
本程序使⽤switch分⽀结构,来解决程序中的选择问题。
使⽤清屏语句system(cls);需要引⽤头⽂件stdlib.h。
其语义是:计算表达式的值,并逐个与其后的常量表达式值⽐较,当表达式的值与某个常量表达式的值相等时,即执⾏其后的语句,然后不再进⾏判断,继续执⾏后⾯case后⾯的所有语句。
当表达式的值与所有case后的常量表达式的值均不相同时,则执⾏default后的语句。
关于switch语句有以下⼏点说明:每⼀个case的常量表达式的值必须互不相同,⽃则就会出现互相⽭盾的现象。
各个case和default的出现次序不影响执⾏结果。
在执⾏⼀个case分⽀后,如果像使流程跳出switch结构,即终⽌switch语句的执⾏,可以在相应语句后加break来实现。
最后⼀个default可以不加break语句。
#include <stdio.h>#include <stdlib.h>int main(){int button;//定义变量system("cls");//清屏printf("*************************\n");//输出普通字符printf("* 可选择的按键: *\n");printf("* 1.巧克⼒: *\n");printf("* 2.蛋糕: *\n");printf("* 3.可⼝可乐: *\n");printf("*************************\n");printf("从1~3中选择按键\n");scanf_s("%d", &button);switch (button){case1:printf("你选择了巧克⼒");break;case2:printf("你选择了蛋糕");break;case3:printf("你选择了可⼝可乐");break;default:break;}printf("\n");return0;}阿飞2021年8⽉6⽇。
作业四面向对象需求建模(第9-11章)4-1、根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。
一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。
顾客按键后饮料由出物口掉出,并自动结算及找钱。
顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。
4-2、请画出一个用户使用银行ATM的状态转换图。
从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。
4-3、某公安报警系统在一些公安重要保护单位(银行、学校等)安装了报警装置,其工作过程如下:一旦发生意外事故,故事发生单位只需按报警按钮,系统立即向公安局发出警报信息、自动显示出报警单位的地址、电话号码等。
110警车立即出动前往出事地点。
值班人员可以接通事故单位的电话、问清情况,需要时再增派公安人员到现场处理。
根据以上情况进行分析,确定本系统有哪些用例、对象,画出用例图、类图及顺序图。
下面是某位同学做的用例:按报警按钮,向公安局发出警报信息,显示报警单位地址电话,110警车前往出事地点,值班人员接通事故单位的电话、问清情况,增派公安人员对象:事故单位、报警系统、公安局、值班人员、公安人员,警车类图:用例图:事故单位报警系统值班人员顺序图:4-4、小李新接了一个项目:设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。
面向对象分析实践大作业(40%)下面是自动售货机系统的需求陈述,请你:1.编写分析和设计报告;2.报告分需求分析、系统设计和对象设计三部分编撰,各部分应按相应的格式编写,并包含用例图、顺序图、类图、业务流程图、系统结构图等;3.大作业的结构为:A项目需求说明B需求分析报告C系统设计报告D对象设计报告E分析设计过程说明:这部分介绍分析和设计过程中使用了什么技术需求陈述:自动售货机系统是一种无人售货系统。
售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。
有效的硬币是一元币、五角币、五分币、二分币、一分币。
其他货币被认为是假币。
机器拒绝接受假币,并将其从退币孔退出。
当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。
顾客支付的货币根据硬币的面值进行累加。
自动售货机装有货物分配器。
每个货物分配器中包含零个或多个价格相同的货物。
顾客通过选择货物分配器来选择货物。
如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返还到退币孔。
如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。
如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。
如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。
参考资料:《软件工程》张海藩清华大学出版社 2009年第一版下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:自动售货机系统是一种无人售货系统。
售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。
有效的硬币是一元币、五角币、五分币、二分币、一分币。
其他货币被认为是假币。
机器拒绝接受假币,并将其从退币孔退出。
当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。
顾客支付的货币根据硬币的面值进行累加。
自动售货机装有货物分配器。
每个货物分配器中包含零个或多个价格相同的货物。
《面向对象程序设计》课程设计题目:模拟自动售货机院系:数学与计算科学专业:信息与计算科学姓名学号: 1指导老师:日期:2015年 1 月8 日摘要随着社会的发展和不断进步,人们的物质文化与精神文化都在明显的提高,各种各样的高科技产品也应运而生并慢慢融入人们的生活,如信用卡支付、手机、地铁等等,当然,还有随处可见的自动售货机。
我基于自己所学,设计了一款饮料自动售货机。
该售货机操作简单,适合广大民众生活。
这个自动售货机是在Windows 环境下用 Microsoft Visual Studio 2008工具,基于MFC框架设计的,可以实现初始化界面,让界面美观简洁。
程序通过CRC 卡分析,建立UML类图,把程序功能具体化,用需求分析与方案论证,从而实现自动售货机的开发过程。
关键字:自动售货机MFC CRC卡UML类图AbstractWith the development of society and progress,people's material culture and spiritual culture are obviously improved,a variety of high-tech products also arises at the historic moment and slowly into people's lives,such as credit card payments, mobile phone,the subway and so on,of course,and the everywhere vending machine.I use my learned knowledge,designed a drinks vending machine.The vending machine operation is simple, so it is suitable for the general public life.This vending machine is in the Windows environment using Microsoft Visual Studio 2008 tools, and based on the MFC framework to design,it can implement initialization interface, and let the interface beautiful and concise.The program through the analysis of CRC card to establish a UML class diagram, let the program function is specific,it also using demand analysis and scheme comparison to realize the development process of the vending machine.Key words:The vending machine MFC CRC card UML class diagrams目录摘要 (2)Abstract (3)目录 (4)引言 (5)一、课程设计内容 (5)1.1、题目要求 (5)1.2、课程设计目的 (6)1.3、CRC分析过程陈述 (6)1.4、UML类图 (7)二、设计分析 (7)2.1、界面初始化 (7)2.1.1、关于对话框设置 (7)2.1.2、关于按钮设置 (8)2.2、出售商品设置 (9)2.3、售货机工作员设置 (15)三、运行结果 (16)3.1、投币操作 (16)3.1.1、金额充足显示 (16)3.1.2、金额不足显示 (16)3.2、继续投币操作 (17)3.3、退币操作 (18)3.4、停止售卖 (18)3.4.1、金额上限停止显示 (19)3.4.2、商品售完显示 (19)四、心得体会 (20)五、参考文献 (21)引言本次课设是用C++语言编写一个模拟自动售货机程序,要求用户从售货机商品列表选择某一商品并投入硬币。
基于UML的自动售货机系统的分析与设计【摘要】 uml 是一种面向对象的标准建模语言,它易于表达,功能强大且普遍使用,支持从需求分析开始的软件开发全过程,利用uml 的建模机制,可以对大型复杂系统的各部分进行可视化表示、构建系统模型。
以自动售货机系统的开发为背景,研究了基于uml 的应用软件系统的开发过程,给出了设计过程中的用例图、类图、时序图等。
【关键词】 uml 自动售货机系统模型目前中国的自动售货机拥有量约为3万多台,而相对于13 亿的人口大国,这个数字是微不足道的。
如今,在机场、地铁、商场、公园等客流量较大的场所,不难发现自动售货机的身影。
如果自动售货机的市场被充分开发起来,其前景是十分可观的,届时中国的自动售货机将发展成为一个巨大的产业。
本文通过uml 建模语言对自动售货机系统进行的需求分析和建模,使用uml 建模工具结合高效的模型,可以设计出便于更改、扩展性强、易于维护的自动售货机系统。
1 uml 简介uml 是一种可视化的建模语言,对其各种建模元素可进行详细说明,并能生成所建模型的文档[1]。
使用uml 时,要从不同的角色观察系统,为此定义了一个概念”视图”。
视图是对系统模型在某方面的投影,它注重于系统的某个方面,每个视图是图的协作,由视图可以定义模型,模型在语义上是闭合的,它从特定的角度、在一定抽象层次上描述目标系统。
可以把视图组织成模型,开发人员可从各视角观察并使用模型。
2 基于uml 的自动售货机系统的建模2.1 系统需求分析需求分析包括建立问题领域的业务模型和用户需求分析。
首先要获取需求,得到描述系统所需功能的用例、业务流程或清晰的正文,它从系统外部观察系统。
在uml 中,用一些简单的类图等来描述用户的功能需求。
自动售货机功能描述:为顾客提供所购买的商品;验证硬币的合法性;对异常(商品售完,零钱不合适等)情况进行提示;找零钱。
2.2 系统的用例图一个系统的用例模型由若干用例图组成,用例图的主要成分有用例、行为者和系统,它用简单的图标元素准确地描述了行为者与系统的交互情况和系统的功能。
本科机械毕业设计论文CAD图纸QQ 401339828摘要随着社会不断的进步,人们的物质文化与精神文化都在明显的提高,这样表现在出入各个场所采用信用卡支付现金,一人一部手机,节假日看电影,坐地铁,听音乐会,逛步行街。
这个现象都表明在物质生活提高的同时,精神生活也提高了,随处可见的出租车,还有随处可见的售货机,这在繁华的都市也已成为不可缺少的一个为市民提供方便的一部机器,只需要投几个硬币就可以选择自己想要的物品。
售货机多种多种,我根据所学的本领,设计了罐装饮料售货机。
市场上普遍的饮料售货机有几种,我针对灌状饮料售货机的原理设计了一种方便市民生活的饮料售货机。
它相比较之下有一定的优点,也有缺点,但缺点不是主要的,所以生产推广起来一定会受到广大群众的喜爱。
关键词:自动售货机售货机售货机原理本科机械毕业设计论文CAD图纸QQ 401339828ABSTRACTAlong with the social continuous progress, the people's material culture and the spirit cultureses all in the obvious exaltation, express thus at come in and go out the adoption credit card in the each place to pay to pay by cash, a cellular phone of one person, the stanza day off go to the movie, sitting the subway, go to the concert, strolling the on foot street...This phenomenons all express at the tim e of physical life raise, the spiritual life also raised, everywhere it is thus clear that of for-rent car, still have everywhere it is thus clear that of beverage sell goods the machine automatically, this a machine that provides the convenience for the citizenry that also has become the indispensability in the prosperous city, need to throw the beverage that a few coins can choose the oneself to want only.The widespread beverage sells goods on the market the machine contain several kinds, I aimed at to infuse the principle that the form beverage sells goods the machine to design a kind of beverage of convenient citizenry life to sell goods the machine.It mutually the in comparison contain certain advantage, also have the weakness, but the weakness is not main, so the production expands and would certainly be like by the large crowd.Keyword:Sell goods the machine to sell goods the machine to sell goods the machine principle automatically本科机械毕业设计论文CAD图纸QQ 401339828目录摘要 (Ⅰ)ABSTRACT (Ⅱ)第一章绪论 (1)第二章售货机的发展史及意义目标 (2)2.1自动售货机机的发展现状 (2)2.1.1国外现状 (2)2.1.2国内现状 (2)2.2发展目标 (7)2.4技术参数 (7)第三章总体方案设计 (8)3.1电磁控制 (8)3.2双层设计 (8)第四章机械结构的设计及计算 (10)4.1轴的设计及计算 (10)4.1.1轴的选用计算 (10)4.1.2轴的分类 (12)4.1.3轴的材料和毛坯 (12)4.1.4失效形式与设计准则 (13)4.2电磁铁应用设计计算方法 (13)4.2.1电磁学基本原理 (13)4.2.2电磁铁吸力计算公式 (16)4.3弹簧的选用设计及计算 (17)4.4连接部分的设计 (28)4.5焊接 (24)4.6柜体传热分析 (29)4.7机架的设计 (30)第五章设计的不足与设想 (34)结论 (35)参考文献 (36)本科机械毕业设计论文CAD图纸QQ 401339828附录Ⅰ步进电机的基本原理 (37)附录Ⅱ外文翻译部分 (40)致谢 (52)本科机械毕业设计论文CAD图纸QQ 401339828本科机械毕业设计论文CAD图纸QQ 401339828本科机械毕业设计论文CAD图纸QQ 401339828第一章绪论时间过的真快,大学生活即将结束。
自动售货机测试用例第一篇:自动售货机测试用例题目:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
1.分析这一段说明,列出原因和结果原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮结果:21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5角硬币24.送出橙汁饮料 25.送出啤酒饮料 2.画出因果图如图所示。
所有原因结点列在左边,所有结果结点列在右边。
建立中间结点,表示处理的中间状态。
中间结点:11.投入1元硬币且押下饮料按钮12.押下〖橙汁〗或〖啤酒〗的按钮 13.应当找5角零钱并且售货机有零钱找 14.钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。
2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。
3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。
4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。
5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。
6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。
7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。
8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。
9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。
10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。
自动售货机C++程序设计自动售货机C++程序设计简介自动售货机是一种智能化设备,可以为用户提供各种商品的购买服务。
本文将介绍如何使用C++语言设计一个简单的自动售货机程序。
程序结构类设计我们将使用面向对象的方式设计自动售货机程序。
在程序中,我们将创建以下几个类:1. 商品类 (Product):用于表示售货机中的商品,包含名称、价格等属性。
2. 售货机类 (VendingMachine):用于管理售货机的机制,包括商品的存储、购买过程等。
3. 用户类 (User):用于表示用户,包含购买商品等操作。
类之间的关系在程序中,售货机类将包含商品类的对象,并与用户类进行交互。
用户可以通过售货机类购买商品。
类的实现商品类 (Product)首先,我们定义商品类,它包含以下成员变量:cppclass Product {private:std::string name; // 商品名称double price; // 商品价格public:// 构造函数Product(std::string n, double p) : name(n), price(p) {}// 获取商品名称std::string getName() {return name;}// 获取商品价格double getPrice() {return price;}};商品类有一个构造函数,用于初始化商品的名称和价格。
通过getName()和getPrice()方法可以获取商品的名称和价格。
售货机类 (VendingMachine)接下来,我们定义售货机类。
这个类将包含商品类的对象,并实现购买商品的过程。
cppclass VendingMachine {private:std::vector<Product> products; // 售货机中的商品列表public:// 添加商品void addProduct(Product product) {products.push_back(product);}// 购买商品bool buyProduct(std::string productName, double &change) {for (Product &p : products) {if (p.getName() == productName) {if (change >= p.getPrice()) {change -= p.getPrice();return true;} else {return false;}}}return false;}};售货机类有一个属性`products`,用于存储售货机中的商品列表。
上机实践报告课程名称:软件工程年级:上机实践成绩:指导教师:姓名:上机实践内容:自动售货机系统学号:上机实践日期:一、目的用面向对象分析、设计方法来分析机票预订系统。
二、主要内容及问题自动售货机系统是一种无人售货系统。
售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。
有效的硬币是一元币、五角币、一角币、五分币、二分币和一分币。
其他货币都被认为是假币。
机器拒绝接收假币,并将其从退币孔退出。
当机器接收了有效的硬币之后,就把硬币送入硬币储藏器中。
顾客支付的货币根据硬币的面值进行累加。
自动售货机装有货物分配器。
每个货物分配器中包含零个或多个价格相同的货物。
顾客通过选择货物分配器来选择货物。
如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返回到退币孔。
如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。
如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。
如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。
三、使用环境操作系统:Windows XP建模工具:StarUML、Microsoft Visio四、设计内容1-1、用例模型图用例模型图说明:自动售货系统主要使用的对象是顾客。
系统根据顾客的钱和选择处理,则系统其中的一个功能即用例就是接收顾客信息。
顾客需要自己投币和选择,系统由输入的信息来识别,则系统的另一个功能即用例就是发货,在系统没货的时候会提醒供货员供货。
1-2、类图类图说明:为此系统定义了4个类,分别是顾客类,系统前台类,后台类,售货机类。
各个类对应的属性和操作方法在图中已表示出,目前应该还是有很多不完善的地方,在后期再加以修改。
1-3、对象图对象图说明:对象图是根据设置的类图而设置的。
一个对象就是类的一个具体实例,本例中设置了一个顾客,详细信息在图中已经设置,根据储户的相关信息和操作,系统会调用相应的类的对象来处理,在本例中不一定会全部都涉及。
面向对象程序设计课设论文模拟自动售货机面向对象程序设计课程设计论文:模拟自动售货机一、引言自动售货机是日常生活中常见的自助购物设备,本文旨在使用面向对象程序设计(OOP)的方法,设计和实现一个模拟自动售货机的系统。
通过此次课程设计,我们旨在加深对OOP基本原则和主要技术的理解,包括类、对象、封装、继承和多态等。
二、背景自动售货机是一种根据消费者投入的货币或卡内金额,通过机器自动销售商品的设备。
其运营原理包括识别货币、商品选择、出货等过程。
面向对象程序设计是一种以对象为基础的程序设计范式,它使用类和对象作为基本构造块,通过对现实世界的抽象,建立对应的类和对象,实现系统的模型化。
三、相关技术在本次课程设计中,我们主要使用了Java语言进行编程。
Java语言具有跨平台性和面向对象的特点,适合用于实现这种模拟自动售货机的系统。
同时,我们将使用Java的GUI库Swing,以实现用户界面部分。
四、系统设计1、类设计:我们设计了三个主要类,分别是货币识别器、商品选择器和出货器。
货币识别器类具有识别货币面值的能力,商品选择器类具有根据投入货币的数量和金额选择商品的功能,出货器类则负责将所选商品出货。
2、对象设计:根据自动售货机的实际需求,我们创建了多个货币识别器、商品选择器和出货器的实例。
同时,我们还创建了代表不同商品的对象,包括可乐、雪碧、矿泉水等。
3、方法设计:在类中定义各种方法,如货币识别器中的“识别货币”方法、商品选择器中的“选择商品”方法和出货器中的“出货”方法等。
五、实现在实现阶段,我们将按照设计的结构,使用Java编写各个类的代码。
其中,货币识别器将根据用户投入的货币进行面值识别,并将金额传递给商品选择器;商品选择器将根据金额从库存中选取相应的商品,并通知出货器出货;出货器则负责执行出货操作。
我们将使用Java的GUI库Swing创建用户界面,包括一个文本框用于接收用户投入的货币,一个下拉列表用于选择商品,以及一个按钮用于确认购买。
public class Construct{public void drinksType()//添加说明为了使用方便单独定义{System.out.println("1.可乐(120日元)");System.out.println("2.橙汁(80日元)");System.out.println("3.绿茶(150日元)");}public void moneyType()//添加说明为了使用方便单独定义{System.out.println("1:10日元");System.out.println("2:50日元");System.out.println("3:100日元");System.out.println("4:500日元");System.out.println("5:1000日元");}}package LevelSecond;import java.util.Scanner;public class AutoSaleMachine{public static void main(String[]args){try{Construct cons=new Construct();//调用Construct对象cons.drinksType();System.out.println("请选择饮品:");Scanner in=new Scanner(System.in);//系统输入所选择的饮品号码int Id=in.nextInt();Product p=new Product();//调用Product中的Pro方法得出用户所选的饮品p.Pro(Id);}catch(Exception e){System.out.println("输入无效");//控制用户选择饮品e.printStackTrace();}}}public class Product{public void Pro(int Id){Construct cons=new Construct();Calculate cal=new Calculate();switch(Id){case1:System.out.println("您选择的是可乐,请按一下规定现金付款。