首页 > 编程语言 >CSSE2002 java项目描述

CSSE2002 java项目描述

时间:2024-03-18 20:45:20浏览次数:31  
标签:java 测试 实现 接口 课程 CSSE2002 电子表格 表达式 描述

大型编程(CSSE2002)
课业1 - 学期1,2024EEC学校昆士兰州大学
必须通过做事来学习; 因为你认为您知道,直到尝试之前,您都无法确定。- Sophocles不要打扰。 修订1.1.0
概述此任务提供了基于一个基于一个Java项目的实用经验
提供的规格。 该规范以Javadocs的形式提供,该规范描述了
您的课业必须实现的类和界面。 此外,您必须写Junit
测试这些类的子集。1
您将对您的能力进行评估;
❼实施一个符合规范的程序,
❼编写可以识别类实现中的错误的JUNIT测试,
❼并制定符合课程样式惯例的代码。
任务电子表格应用程序是功能强大的工具,可以结合数据和公式以执行
计算。 在此课业中,您将实施绵羊(表处理器),这是一个范围的申请。 绵羊类似于Google表或Microsoft Excel,它由一个网格组成
单元格每个包含数据或公式。 公式可以参考其他单元
网格使用其值。 评估公式以产生细胞值。 单元已更新
每当任何单元格中的数据或公式都会改变。
常见错误请仔细阅读附录A。概述了常见和关键错误
您必须避免防止丢失分数。 如果在任何时候您甚至都不确定,
请尽快检查课程人员。
1尽管我们鼓励您为所有课程编写考试。
➞昆士兰大学2024 1 0011110001
pla窃所有关于这项任务的工作都是成为您自己的个人工作。 提供的代码
课程人员(从这个学期开始)是可以接受的,但必须清楚地承认。 生成的代码
第三方工具也可以接受,但也必须清楚地承认,请参阅生成下面的人工智能。 您必须熟悉窃的学校政策:
https://uq.mu/rl553如果您对可以接受的内容有疑问,请询问课程人员。
强烈鼓励您不使用生成人造的生成人工智能智能(AI)工具来开发您的课业。 这是一个学习练习,您会伤害
如果您不适当地使用AI工具,您的学习。 请记住,您将需要编写代码,
在期末考试中。 如果您确实使用了AI工具,则必须清楚地在您的
提交。 有关如何确认使用生成AI工具的详细信息,请参见附录C。
即使被确认,您也需要能够解释您提交的任何代码。访谈以维持评估完整性并根据第5.4节的规定
课程资料,课程协调员可能会通过电子邮件询问您参加面试评估真正的作者的课业。 请参阅课程资料以获取更多详细信息。
规格
规格文档以Javadocs的形式提供。
◦按照Javadocs中所述,完全实现类和接口。
◦仔细阅读Javadocs,并在编程前了解规范。
◦不要以任何方式更改公共规范,包括更改或添加的名称
其他公共类,接口,方法或字段。
◦建议您在合适的情况下添加其他私人会员,课程或接口。
要查看Javadoc规范,请访问Web浏览器中的下面URL:
https://csse2002.uqcloud.net/assessment/ass1/docs/
入门
要开始,请从黑板下载提供的代码。 此邮政编码包括
GUI组件。 在目录中提取存档,然后使用Intellij打开它。
任务
1.完全实现Javadoc规范中描述的每个类和接口。
2.为以下类的所有公共行为编写JUNIT 4测试:
❼细胞结实(在一个称为CellLocation Test的类中)
❼参考
(在称为referenceTest的课程中)➞昆士兰州大学2024 2 0011110001
图1:分配规范的类图1。项目概况
绵羊。此软件包提供了电子表格模型与用户之间的接口
界面。
SheetView接口的实现告诉接口如何呈现份额表并通过ViewElement对象传达此信息。
SheetUpdate接口的实现处理用户更新电子表格和
通过更新对象提供更新的结果。
Sheep.Sheets此软件包包含SheetView和SheetUpdate inter Face和其他支持类的实现。 它主要实现了三种不同类型的扩展床单:固定网格,显示屏和工作表。
绵羊。在电子表格中的表达,特定单元格的值由sion表示 项目概况
绵羊。此软件包提供了电子表格模型与用户之间的接口
界面。
SheetView接口的实现告诉接口如何呈现份额表并通过ViewElement对象传达此信息。
SheetUpdate接口的实现处理用户更新电子表格和
通过更新对象提供更新的结果。
Sheep.Sheets此软件包包含SheetView和SheetUpdate inter Face和其他支持类的实现。 它主要实现了三种不同类型的扩展床单:固定网格,显示屏和工作表。
绵羊。在电子表格中的表达,特定单元格的值由sion表示。 该软件包存储所有表达式必须扩展的表达式抽象类。
表达式通过实现表达方式的表达工厂构建
接口,例如 核心。
该软件包还存储相关的例外。
sheep.expression.basic此软件包存储核心表达实现,即空的
单元格,没有,恒定数值,常数和对另一个单元格的引用。
Sheep.Expression.Arithmetic算术表达式包含在此软件包中。 所有Arith Metic表达式都是基本抽象类算术的子类。
绵羊。解析器接受字符串输入并构造适当的表达式。 对于ex ample,鉴于字符串“ 4”,解析器将构建一个常数表达式的实例
代表4。
所有解析器都必须实现解析器接口。 如果解析器无法解析字符串,则
parseexception被抛出。
绵羊。提供的课程可以预先使用测试数据的电子表格,例如fibonacci
使用斐波那契类的序列。
Sheep.ui提供了用户界面的实现。
阶段
该任务分解为阶段,以鼓励增量发展。 你应该
完成每个阶段,然后再进入下一个阶段。 提供的主班允许您运行
每个阶段通过在主要方法中删除适当的线来分别分别。 图1
突出显示您将在每个阶段实现的类代 写CSSE2002绿色的第0阶段,蓝色,blue for Stage 1,
黄色为第2阶段,紫色用于提供的代码。 在每个阶段,确保您彻底测试
您的实施。
阶段0创建一个简单的电子表格固定网站的实现。 固定网格
课程应在绵羊包中,并实现绵羊。
和sheep.core.core.sheepupdate界面。 在实现固定表格类并在主方法中评论适当的行后,该程序应如下运行。
➞昆士兰大学2024 4 0011110001
阶段1仅实现电子表格中的基本表达式类型:常数
值,对其他细胞的引用和空细胞。 创建一个表达式工厂来创建这些
表达式和解析字符串表达式的解析器。 最终将显示屏创建为
显示这些表达式的结果。 当主要方法中的适当行是
评论说,该程序应如下进行。
第2阶段完成表达式的实施,以包括算术操作。 你的
解析器和表达工厂应该能够解析并创建这些表达式。 创造
完整的工作表实现,此表应在其他单元格时适当更新单元格
改变。 当评论主方法中的适当行时,该程序
应按照下面的方式运行。
➞昆士兰州大学2024 5 0011110001
第3阶段,如果您尚未这样做,请确保您编写所需的Junit测试课。
标记
任务将在100中标记。标记将分为三类:
功能(F),JUNIT测试(T)和样式。
体重描述
F 65该程序相对于
规格。
t 25 Junit测试可以区分正确和
不正确的实现。
S 10代码样式符合课程样式指南。
总体任务标记定义为
A1 =(65×F) +(10×S) +(25×T)
功能每个类都有许多与之相关的单元测试。 您的功能标记基于您通过的单位测试的百分比。 假设您有10个单位
测试一堂课,如果您通过了其中的8个测试,那么您将获得该课程的80%分数。 课程
根据其复杂性,可以将加权加权不同。 您对功能的标记F是
然后每个班级的加权平均值,是I级的重量,pi是通过的测试数量
第一级和ti是I类测试的总数。
Junit测试您在Celllocation Test和ReferenceTest中提供的JUNIT测试将
用于测试细胞结实的正确和不正确的(错误)实现
参考类。 标记将被授予

标签:java,测试,实现,接口,课程,CSSE2002,电子表格,表达式,描述
From: https://www.cnblogs.com/kantong/p/18081350

相关文章

  • Java 文件处理完全指南:创建、读取、写入和删除文件详细解析
    Java文件操作文件处理简介文件处理是任何应用程序的重要部分。Java提供了许多用于创建、读取、更新和删除文件的方法。Java文件处理Java中的文件处理主要通过java.io包中的File类完成。该类允许我们处理文件,包括创建、读取、写入和删除文件。创建File对象要使用F......
  • Eclipse设定自定义格式化(解决java格式化注释中参数挤在一行的问题)
    1.问题在java默认的格式化中,对于注释这一块的格式化,当有多个参数Param,都是挤在一起的,导致十分不美观,我们这时就需要自定义java格式化2.解决2.1找到Java>CodeStyle>Formatter2.2由于Eclipse默认的格式化文件不可以修改,这里我们基于其选择新建一个自定义格式化文件2......
  • JavaScript学习笔记3: 数据类型,运算符,类型转换
    JS数据类型,运算符,类型转换利用typeof获取数据类型数字3的类型<script>console.log("3的类型:"+typeof3);</script>浮点数<script>console.log("3.14的类型:"+typeof3.14);</script>字符串<script>console.log("'......
  • JavaScript学习笔记4: 流程控制语句 ,函数
    流程控制语句与java基本一致的语法<script>vara=true;if(a){    //语句}else{    //语句}</script>函数函数定义方式1<script>functionadd(a,b){returna+b;}alert(add(1,2));//也可以用变量......
  • JavaScript学习笔记5: 对象 - 数组Array
    JS对象-数组Array数组的定义及特性数组定义<script>//数组定义方式1,赋值给变量vararr1=newArray(1,2,3);//数组定义方式2,初始化数组vararr2=[4,5,6];</script>JS数组长度可变<script>vararr2=[4,5,6];//数组初始长度为3......
  • JavaScrpt学习_2024年3月18日
    一、Js编写位置<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><!--可以将js代码编写到外部js文件中,然后通过script标签引入写到外部文件中可以在不同页面中同时使用,也可以利用到浏览器大的缓存机制推......
  • Java 运行时 Debug 思路
    JStack工具top使用top命令获取占用内存/CPU最高进程的pid输入大写的M按照内存排序,大写的P按照CPU排序top-Hppid使用top-Hppid可以查看该进程下,各个线程的cpu使用情况jstackpid通过top命令定位到cpu占用率较高的线程之后,接着使用jstackpid命令来查看当前j......
  • JavaScript学习笔记1: JS引入方法
    JavaScriptJS的引入方法内部脚本在script标签间插入js语句,可以在任意位置放置任意数量的script,为了改善显示速度,一般把js脚本放在body的底部<!--内部脚本--><script>//警告框alert('HelloJS');</script>外部脚本外部定义的js脚本,在js脚本中......
  • JavaScript学习笔记2: js书写语法及变量
    JS书写语法以及变量变量声明变量<style>vara=20;a="张三";//js是一门弱类型语言,变量可以存放不同类型的值</style>几种不同的变量声明方式varvar定义的是全局变量在代码块中声明的变量,在代码块外也可以访问可以重复定义<style>{v......
  • 正则表达式(java)
    正则表达式多用于字符串匹配,检索。基础符号[]意义:或a[bc]等于ab或ac()意义:和(abc)只等于abc[^]意义:否a[^bc]表示不等于ab或ac*意义:零或更多ab*等于a,ab,abb...+意义:1或更多ab+等于abb,abbb...[0-9]+等于长度大于一的数字序列。[A-Z]+等于长度大......