APP下载

“1+X”证书制度下《使用Java理解程序逻辑》课程实训操作教学探索

2022-08-25□庄

产业与科技论坛 2022年16期
关键词:总金额份数数组

□庄 帅

《使用Java理解程序逻辑》是高职院校计算机应用技术相关专业必修的入门编程课程。它的知识特点是有很强的逻辑性,动手操作实践性强。《使用Java理解程序逻辑》采用理论和实践上机操作同时进行的教学模式。这门课程对学生的数学、英语、动手操作和自学能力要求都比较高。通过和学生沟通发现,很多学生认为《使用Java理解程序逻辑》课程中的知识点多,要求动手上机操作多,导致很多学生很难快速入门,不能运用理论知识解决实际问题。本文将通过“采用Java实现网上订餐系统”项目的开发设计,使学生明白需要掌握什么知识、技能和“1+X”证书对标[1]。从而提高《使用Java理解程序逻辑》课程的教学质量以及教学效果。

一、设计过程

(一)证书获得。“大数据应用开发(Java)职业技能”的“1+X”等级证书一共分为三个等级证书[1],分别对应初级、中级、高级。每个等级的证书考试试题内容分为两个部分,第一部分为理论知识考试,题型为选择题,满分100分,第二部分为上机实践操作考试,题型为编程题,满分100分。只有两部分考试都及格,才能够取得相应的证书。“大数据应用开发(Java)职业技能证书(初级)”的“1+X”证书对知识和技能的要求如下:学生能够独自搭建Java开发环境、掌握和运用基础语法,包括运算符、流控制语句、数组等,理解和运用Java面向对象的思想、软件测试、运维基础等内容。取得“大数据应用开发(Java)职业技能”的“1+X”中的初级证书,可以从事大数据领域中的测试类工作[3]。

(二)人才培养目标。将计算机应用技术专业人才培养方案对学生掌握知识点、培养技能与素质的要求与“大数据应用开发(Java)职业技能证书(初级)”的“1+X”证书中对学生掌握知识点、培养技能与素质的要求进行融合。从知识、能力与素质目标三方面(见表1),重新设计《使用Java理解程序逻辑》上机实践教学课程内容。引入项目驱动教学方法,采用实际开发应用的项目“采用Java实现网上订餐系统”,通过对实际项目的学习,培养学生上机操作能力和团队合作能力[2,4]。

表1

(三)实践学时安排。实践项目教学实施至少安排10学时,其中教师用3学时讲解项目需求与整体设计思路,学生至少需7学时上机编码完成项目中的类设计、实体类设计、测试类设计等。

二、教学实施

以“采用Java实现网上订餐系统”为例,对《使用Java理解程序逻辑》课程的实践教学进行设计和探索。

(一)需求概述。网上订餐越来越受到年轻人的青睐。现在要求开发一个网上订餐系统,需要实现我要订餐、查看餐袋、签收订单、删除订单、我要点赞和退出系统六个功能。

(二)问题分析。

1.使用数组对象保存订单信息。根据本项目的需求分析可知,每条订单的信息都包括订餐人姓名、选择菜品及份数、送餐时间、送餐地址、订单状态、总金额,并包括多条订单信息,可以使用数组来保存多个相同类型的信息。创建OderingSet类,并在类中定义六个数组分别保存订单的订餐人姓名、选择菜品及份数、送餐时间、送餐地址、订单状态、总金额,各数组中下标相同的元素组成一条订单信息。

2.访问订单信息。创建OderingSet类的对象oSet后,对于该对象中的第i+1条订单信息采用如下方式访问:订餐人名称:oSet.name[i]、所选菜品信息:oSet.dishMegs[i]、送餐时间:oSet.times[i]、送餐地址:oSet.addresses[i]、订单状态:oSet.states[i]、订单的总金额:oSet.sumPrinces[i]。

3.删除订单信息。若数组下标为delId的元素需要删除,后面的元素依次前移一位,即后一位的数据覆盖前一位的数据,采用如下方式实现。

for(int j=delId-1;j

oSet.name[j]= oSet.name[j+1];

oSet.dishMegs[j]= oSet.dishMegs[j+1];

oSet.times[j]= oSet.times[j+1];

oSet.addresses[j]= oSet.addresses[j+1];

oSet.states[j]= oSet.states[j+1];

oSet.sumPrinces[j]= oSet.sumPrinces[j+1];

}依次实现后,将最后一个元素置为空。

4.计算订单总金额。本项目中,在接受到订单的菜品编号和份数后,通过菜品编号得到该菜品单价的保存位置,利用单价*份数公式计算出预定菜品的总金额。同时,按“菜品名+份数”格式,使用“+”运算符将菜品名称和预定份数用字符串保存,如“红烧鲤鱼2份”。

利用三元运算符“?:”判断订单的总金额是否满50元。如果订单金额满50元,免送餐费5元;否则加收5元送餐费。//计算送餐费double deliCharge=(sumPrice>=50)?0:50。

(三)项目需求。

1.数据初始化。

(1)创建项目OrderingM,创建类OderingSet,添加六个属性:订餐人姓名(name)、选择菜品信息(dishMegs)、送餐时间(times)、送餐地址(addresses)、订餐状态(states)、总金额(sumPrices)。

(2)创建类OrderingUtil,生成供选择的三种菜品名称、单价和点赞数等信息。

(3)类OrderingUtil中,创建OrderingUtil类对象oSet,实现初始化数据的方法initial()。

初始化两条订单的信息,如表2所示。

表2

2.实现菜单切换。执行程序,输出系统主菜单。用户根据显示的主菜单,输入功能编号实现菜单显示和菜单的切换。

(1)当输入1~5时,输出相关的菜单项信息。

(2)显示“输入0返回”。输入0,则返回主菜单;否则,退出系统,终止程序的运行,输出提示信息“谢谢使用,欢迎下次光临!”。

3.实现查看餐袋。遍历系统中已有的订单,并逐条显示输出,内容包括序号、订餐人姓名、订餐信息(菜品名和份数)、送餐时间、送餐地址、状态(已预定或已完成)、总金额。

4.实现我要订餐。为用户显示系统中提供的菜肴信息,获得订餐人信息,形成订单。每条订单包含如下信息:

(1)订餐人姓名:要求用户输入。

(2)选择菜品及份数:显示三个供选择的菜品序号、名称、单价、点赞数,提示用户输入要选择的菜品序号及份数。

(3)送餐时间:要求当天10到20点间整点送餐,要求用户输入10~20的整数,输入错误,重复输入。

(4)送餐地址:要求用户输入。

(5)状态:订单的当前状态,有两种状态:0位已预定(默认状态),1为已完成(订单已签收)。

(6)总金额,订单总金额。总金额=菜品单价*份数+送餐费。其中,当单笔订单金额到达50元时,免收送餐费;否则,需要缴纳5元送餐费。

订单成功后,显示订单信息。

5.实现签收订单。送餐完成后,要将用户签收订单的状态由“已预订”修改为“已完成”。

(1)如果订单的当前状态为“已预定”,数组下标为用户输入的订单序号减1,就签收。

(2)如果订单的当前状态为“已完成”,数组下标为用户输入的订单序号减1,不可签收。

编写方法sign(),接受要签收的订单序号。利用for循环结构遍历全部订单,通过if选择结构判断names数组中订餐人姓名是否为null,订单状态是否为已预订,且数组下标是指定订单序号减1。如果条件成立,该订单的状态值修改为1(即已完成)。

6.实现删除订单。可以删除系统中处于“已完成”状态的订单,具体要求如下。

(1)接受要删除的订单序号。

(2)如果指定的订单的状态为已完成且数组下标值为用户输入的订单序号减1,执行删除操作。

(3)如果指定订单的状态为已预订且数组下标值为用户输入的订单序号减1,不能删除。

执行删除操作,其他情况给出相应提示信息。

编写方法delete(),分步实现以下功能:第一,根据用户删除的订单序号,遍历oSet对象的names数组,states数组,进行查找并删除。第二,删除oSet对象每个数组中对应的元素后,其后面的元素依次前移一位。

三、教学效果

通过真实案例的项目教学实践,学生全程参与了项目的需求分析、功能设计、实体类设计、实体操作类设计编码等,对项目的开发流程有了一定的了解,在理论课上所学的《使用Java理解程序逻辑》课程的章节知识点通过项目实践得到综合运用,学生的学习积极性和自信心也得到相应的提高,进而增强了就业的内动力和竞争力。

猜你喜欢

总金额份数数组
JAVA稀疏矩阵算法
如何利用题组训练提高分数“量”与“率”的区分度
对提单及保单出具份数的思考
JAVA玩转数学之二维数组排序
更高效用好 Excel的数组公式
“份数法”的妙用
哪些电影赔了钱
寻找勾股数组的历程
2013年6月中国铝合金车轮出口情况简析
主要刊期的期刊出版数量