CS4U:第三单元——面向对象编程任务

张牙舞爪
• 阅读 50

CS4U:第三单元——面向对象编程任务3——汽车租赁系统(CRS)1.一般信息您将帮助CIMP编写租车系统(CRS)。该系统将由系统的员工使用,因此客户不会随意输入数据。它具有以下功能从包含所有汽车信息的文本文件中导入现有汽车。手动将单车添加到系统中。在系统中显示汽车。可以过滤显示:o仅显示o显示耦合o仅显示交叉显示o仅显示敞篷车o显示所有汽车租车回程车退出(退出程序)2.程序流程第1页,共12页ICS4U:第三单元——面向对象编程3.用户界面a)主屏幕b) 从文件导入汽车进口后,我们可以看到所有的汽车。第2页,共12页ICS4U:第三单元——面向对象编程c) 添加单车添加轿车添加轿跑车添加交叉第3页,共12页ICS4U:第三单元-面向对象编程添加可转换当显示所有汽车时,它会显示新车:d) 展示汽车我们可以显示所有的汽车我们还可以展示一种特定类型的汽车(在这种情况下是轿车)第4页,共12页ICS4U:第三单元——面向对象编程e) 租车假设我们想租一辆车ID为1008的车我们将输入信息。如果它满足所有标准,那么它就会通过显示屏中的租车我可以再租一辆车这是在显示屏上租的另一辆车第5页,共12页ICS4U:第三单元——面向对象编程f) 回程车辆让我们返回1008,它在允许的距离内行驶(允许为1250公里,如显示屏所示)在返回1008之后,该行被清除。然而,它显示汽车的里程增加了1000英里。现在让我们返回1457,但行驶超过了允许的距离然后,它将计算罚款并将其显示在屏幕上。第6页,共12页ICS4U:第三单元——面向对象编程4.UML图这是该程序的UML图。您的程序必须遵循相同的结构。第7页,共12页ICS4U:第三单元——面向对象编程5.文本文件和数据库该程序附带一个名为CarList.txt的文本文件,其中代 写CS4U:第三单元——面向对象编程任务3包含一些伪车信息。你可以把它导入车库,这样你就可以很容易地测试你的程序。列之间用冒号“:”分隔文本文件示例:0:本田:思域:汽油性能好1:丰田:Supra:错误2:Mazda:CX-5:53:BMW:Z4:15.40:丰田:卡罗拉:顶级安全0:奥迪:A4:豪华1:日产:GT-R:错误1:宝马:440i:真2:雷克萨斯:GX460:83:Mazda:MX-5:7.6第1列:第2列:第3列:第4列:笔记车辆类型。请参阅Car class以查看值及其对应的车型。汽车制造商。这是生产汽车的公司车型。这辆车的名字。特定车型的特殊信息:-Sedan-Coupe改变敞篷车关于汽车的特殊信息如果它包含后座座位数量打开软(或硬)顶部的时间(秒)汽车ID不在文本文件中,因为当添加新车时,程序应该自动生成它。额外-对于那些想了解Database.java内部代码的人(不需要):有关如何使用java处理.txt的更多信息,请访问以下网站: https://www.geeksforgeeks.org/different-ways-reading-text-fil... https://www.javatpoint.com/java-bufferedwriter-class6.更多信息a)数据库数据库将把所有Car对象存储在一个数组中。我们还没有了解对象数组是如何工作的,但假设它类似于在数组中存储任何正常的数据类型。b) 车辆ID每辆车都将有一个唯一的汽车ID。进入系统的每辆新车都将随机生成一个ID。范围在1000到1999之间,因此只有999辆汽车可以存储在系统中。第8页,共12页ICS4U:第三单元——面向对象编程c) 不同的车型该系统只有4种类型的包裹:轿车、Coupe、Crossover和敞篷车每种类型都有其特定类型的额外信息和计算允许距离和额外距离罚款的公式。请参阅下表:键入额外信息特殊信息–描述轿车的特殊功能。如果轿跑车有没有后座。Crossover的座位数量。打开/关闭活顶所需的时间(以秒为单位)。如果租房者没有超过允许的距离,则不收取任何费用。如果超过,下面是表格:它们由一个整数表示。可以参考Parcel类来查找值。轿车=
0 Coupe=
1 Crossover=2敞篷车=3但是,当以表格格式显示地块时,它显示为:Sedan=“SED”Coupe=“CPE”Crossover=“XOR”Convertible=“CVT”轿车轿跑车改变敞篷车允许距离额外距离费公式类型轿车= × 250 = 1.2
5 × 轿跑车= × 100注:@system表示向下取整到最接近的整数。有后座:= 74× +20= 74× +3
5 =2× +25,% ≤6=2× +45,% =7 8=
1 ×( ))+55,% >8 30无后座:改变= ! × ( × 150)敞篷车如果租车时间少于5天,那么= 500如果租车时间超过或等于5天,那么5.× 400,租房者将获得5天奖金(计算不包括额外5天的奖金)2.(0123456789.):+(75025.5×秒),其中?=打开/关闭顶部的时间(秒)第9页,共12页ICS4U:第三单元——面向对象编程7.使用Date类在这个课业中,您将使用Date类并计算到期日期。以下是您需要对自己进行一些研究的一些链接:Java中的日期解析和格式设置 http://tutorials.jenkov.com/java-date-time/parsing-formatting...将天数添加到当前日期 https://www.mkyong.com/java/java-how-to-add-days-to-current-d...将日期转换为字符串 https://www.javatpoint.com/java-date-to-string将字符串转换为日期 https://www.javatpoint.com/java-string-to-dateDate类中的构造函数和方法 https://www.tutorialspoint.com/java/java_date_time.htm https://docs.oracle.com/javase/7/docs/api/java/util/Date.html8.要求不要更改数据库类。若数据库被更改并且程序无法编译,那个么您将得到零。必须使用数据库类来帮助您存储和访问数据。阅读JAVA DOCS(注释),帮助您了解如何在Database类中使用每个方法。只要理解方法头就足够了。没有必要了解每个方法内部发生了什么。程序必须遵循程序流程图和UML图。不要创建额外的类不要创建额外的公共方法(CRS类中的辅助方法除外)必须完成所有模板方法和主要方法。每个类必须在其单独的文件中,以提高可读性和可维护性。不要使用第1-3单元中未教授的任何内容(例如:数组列表、链接列表、二维数组等)必须创建额外的辅助方法(标记方案的一部分)必须遵循前端和后端设计。(CRS中的DisplayCar()方法除外)必须正确使用多态性(程序可能在不使用多态性的情况下仍然有效)9.错误检查必须检查输入的选项是否有效。必须检查输入的ID是否有效(是否存在)。必须检查车辆类型是否有效必须检查有效天数(正数)必须检查距离是否有效(0或正)假设在创建新车时,“额外信息”始终是有效值。假设输入的选项始终是正确的数据类型(例如:如果扫描仪需要int,我会不输入字符串)如果用户输入的信息错误,它将返回主屏幕。程序不会重复要求正确的信息。第10页,共12页ICS4U:第三单元——面向对象编程10.提供的模板和文件提供的代码和模板要提交的文件不要提交以下内容 Car.java 可转换.java 优惠券.java Crossover.java CRS.java CRSMain.java 数据库.java 轿车.java CarList.txt Car.java 可转换.java 优惠券.java Crossover.java CRS.java CRSMain.java 轿车.java 数据库.java CarList.txt 任意.class或.java~11.注释 您可以编写尽可能多或尽可能少的代码。然而,试着以我的基准为目标。 我的示例代码(不包括Database.java)包含869行代码 这些模板总共包含235行代码。 你只需要写633行代码就可以完成这项任务。 强烈鼓励与朋友合作,并可以分享想法。但是没有代码共享。有可以检查程序相似性的程序,我可以看到谁在复制程序。第11页,共12页ICS4U:第三单元——面向对象编程12.评分方案:检查表知识项目 正确创建和使用方法 正确使用类和对象 HaveHeritage HaveEncapsulation 遗传多态性 正确显示信息 程序在菜单和屏幕之间正确循环 使用非课程材料应用项目 AddCar(对象) RentCar()正在工作 ReturnCar()正在工作 DisplayCar()正在工作 DisplayCar(int)正在工作 使用非课程材料思考你的标记共4个4 24知识总量:应用程序总计:你的标记你的标记项目 创建全局常量变量并使用它们
WX:codinghelp

点赞
收藏
评论区
推荐文章
皕杰报表(关于日期时间时分秒显示不出来)
在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp
可莉 可莉
3年前
10.1 使用w查看系统负载 10.2 vmstat命令 10.3 top命令 10.4 sar命令 10.5 nload命令
第十章Linux日常运维管理10.1查看系统负载w命令w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
Wesley13 Wesley13
3年前
Java编程思想
OOP(面向对象)软件技术是对数据的操作技术,了解软件技术的分类和数据操作的分类可以让你更好的把握系统设计的复杂度1.ERP,管理系统:对数据的增删改查2.金融系统:对数据的分析,计算,保护,挖掘3.文本,图片,音频,视频,游戏:对数据的显示,检索4.下载上传,存储软件:对数据的存储,迁移,传输
Stella981 Stella981
3年前
Linux查看用户信息
查看用户信息ww显示信息的含义  JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里  PCPU:CPU执行程序耗费的时间  WHAT:用户正在执行的操作  loadaverage:分别显示系统在过去1、5、15分钟内的平均负载程度  FROM:显示用户从何处登陆系统,
Stella981 Stella981
3年前
Linux[命令]
系统信息arch显示机器的处理器架构(1)unamem显示机器的处理器架构(2)unamer显示正在使用的内核版本dmidecodeq显示硬件系统部件(SMBIOS/DMI)hdparmi/dev/hda罗列一个磁盘的架构特性hdparmtT/dev/sda在磁盘上
Stella981 Stella981
3年前
HBase实践案例:车联网监控系统
项目背景本项目为车联网监控系统,系统由车载硬件设备、云服务端构成。车载硬件设备会定时采集车辆的各种状态信息,并通过移动网络上传到服务器端。服务器端接收到硬件设备发送的数据首先需要将数据进行解析,校验,随后会将该消息转发到国家汽车监测平台和地方汽车监测平台,最后将解析后的明文数据和原始报文数据存储到系统中。车辆的数据和其他数据需要通过
数据堂 数据堂
2年前
车载语音为什么不好用?关键在这几点
据盖世汽车研究院报告显示,随着消费者对座舱体验要求的提升,智能座舱将融合更多智能化、数字化功能,使得其单车价值量将大幅提升,2030年有望达到千亿规模。车载语音交互系统作为智能座舱中不可或缺的一部分,是车内最直接、最人性化、最安全的交互方式。车载语音成为了
绣鸾 绣鸾
1年前
RubyMine 2023 for Mac(Ruby代码编辑器)
是Ruby编程语言的集成开发环境(IDE)。它提供了一系列功能来帮助开发人员编写、分析和调试Ruby代码。RubyMine的一些主要功能包括:具有语法突出显示、自动完成和错误突出显示的智能代码编辑器支持Git、SVN和Mercurial等版本控制系统自动化
公孙晃 公孙晃
1年前
RubyMine 2023.2.4中文激活版 附激活码 无需账号登录
是Ruby编程语言的集成开发环境(IDE)。它提供了一系列功能来帮助开发人员编写、分析和调试Ruby代码。RubyMine的一些主要功能包括:具有语法突出显示、自动完成和错误突出显示的智能代码编辑器支持Git、SVN和Mercurial等版本控制系统自动化
邢德全 邢德全
1年前
万界星空科技线束行业MES系统
MES系统在汽车线束生产全流程中扮演着重要角色。它通过采用自动化、信息化、以及集成化的方式,实现了对整个生产过程的精细化管理。在复杂且严格的汽车零部件制造业中,万界星空科技MES系统无疑为高效、高质量的生产提供了坚实保障。
小万哥 小万哥
11个月前
Kotlin 面向对象编程 (OOP) 基础:类、对象与继承详解
面向对象编程(OOP)是一种编程范式,它通过创建包含数据和方法的对象来组织代码。相较于过程式编程,OOP提供了更快更清晰的结构,有助于遵守DRY(Don&39;tRepeatYourself)原则,使代码更易于维护和扩展。在Kotlin中,类和对象是OOP的核心。类作为对象的模板,定义了对象的行为和状态;对象则是类的具体实例。例如,Car类可以定义汽车的品牌、型号等属性,以及如驾驶和刹车等功能。通过构造函数可以快速初始化对象的属性。此外,Kotlin支持继承机制,子类可以从父类继承属性和方法,促进代码重用。