CSE105 Coursework

Stella981
• 阅读 275

代写CSE105作业、代做Java程序语言作业、代写JFrame window留学生作业
CSE105 Coursework 3 2018
Design and code a garden design application in Java. It should graphically display
a ‘garden’ in a JFrame window.
The ‘garden 'is contained in a JFrame. It should contain other components
for graphics, painting etc.
It can have a blank background, or pretty grass/a texture.
It will contain flowerbeds.
Flowerbeds display rows of flowers. They can be all the same, or mixed.
If mixed, they could be in patterns, or random. The example below shows
2 plain flowerbeds at the top, and 2 flowerbed patterns below
It is possible to achieve a maximum of 80% without displaying flowers in
patterns (ie plain beds with only one type of flower per bed). This would
be a good approach for students who have lower coding skills.
You should pay attention to applying principles of OOP as taught this semester,
particularly class design and structure. You may re-use and re-purpose code and
classes developed and used (by you) in the Labs this semester.
An example of a garden with 4 flowerbeds is shown below. Do not copy it!
The application is controlled via a standard command-line menu system, which
allows for the following functionality:
Add flowerbed
Remove flowerbed
Save and exit
Resources
Your application will contain a directory (folder) containing a number of suitable
graphic files of flowers (up to 10). These flowers should be suitable in terms of
size, background-transparency etc.
Your submitted application MUST include a text file which will load a
garden on startup. The garden must contain at least four flowerbeds
containing different flowers. If you do not include this, 40 points are
immediately deducted.
Task Requirements
It should have the following functionality from a menu input system:
Flowerbed Display (10%)
This is a JFrame window, containing a number of components (panels). Each
component is a flowerbed displaying flowers, as shown in the example
screenshot above. The number of rows and columns depends on the size of the
flower images. When flowerbeds are added and removed, the display should be
updated.
Add Flowerbed (20%)
The user must be able to add a flowerbed to the display. They should be able to
specify:
- Flowerbed size, setting the height and width of the flowerbed.
- Flowerbed location, setting the position on screen (x and y co-ordinates).
- Type of flower (choosing from a menu of flower image file names, which
are in a folder in your application project folder).
To get full marks, they should also be able to display flowers in a pattern (as
shown in the lower flowerbeds in the screenshot above).
The user should be able to choose the type of pattern (eg squares or stripes)
And also the details of the pattern, eg:
Horizontal or vertical stripes?
How many flow different colours or flowers for the stripes?
Or similar details for squares etc.
Remove Flowerbed (5%)
Using a command line menu, the user can remove flowerbeds from the display.
How this is achieved is up to you. Top marks will go to solutions which identify
the flowerbeds available for removal in the clearest way.
Save and exit (5%)
The user should be able to select an exit option in the menu. This will
automatically save the current state of the garden to a text file and exit the
program. The file format must be a text (.txt) file.
Load file on startup (5%)
When the program is started, garden data should be automatically loaded from a
text file, and the display and flowerbeds should be restored to the state of the
program when it was last exited.
Menu Interface (10%)
This must be entirely menu driven, displayed through the console window and
with keyboard input and all user input must be fully validated. The menu must
be clear and usable, with prompts to the user so that it is obvious how to use the
program. The flower type menu options should be a list of the flower images in
the directory.
Input Validation and Exception handling (15%)
The user input must be fully validated. That means you should check for (and
recover from) user input of:
The wrong data type (eg float or string instead of int)
The wrong data range (eg negative or very large numbers for location or
width)
Blank input
If any exceptions are thrown as a result of wrong input (eg an int is required,
and a String or blank is input) the exception must be handled so that the
application doesn’t crash, and the user can recover the situation.
There should also be further validation that just the data type. For example,
bounds checking:
- Are the x, y values visible on screen?
- Are the size values within a reasonable range?
Design Document and Code Quality (30%)
A design document should be submitted. This should be a word document that
gives a simple UML diagram detailing the classes (their names, attributes,
methods), and also the relationships between them.
In addition, the code should follow clear conventions for variable names,
comments, indentation, and should be easily readable.
Core Task requirements (required to achieve 40%+)
The submitted file must be a valid NetBeans project folder, including all
resources.
The project must compile and run in Netbeans with no further configuration
and debugging.
The application you submit MUST include a text file to load a garden on
startup. The garden must contain at least four flowerbeds containing
different flowers. If you do not include this, 40 points are immediately
deducted.
The submission instructions must be followed exactly.
Submission
You must submit your work to the submissions drop-box on the CSE105 ICE
page before 8.00pm on 14th December 2018.
You must submit:
One design document (a Word document) with a simple UML diagram
detailing the classes and the relationships between them.
One .txt file for each .java class file. These documents must NOT be in a
ZIP or RAR archive. The file name must be the class name. Each file must
have your name/student number in a comment at the top.
One ZIP or RAR archive of your entire Netbeans project folder. Make
sure this contains ALL the resources your application needs to run,
including your flower image resources and a txt file to load a garden
on startup.
If your program does not compile and run from this zip file only, you
cannot pass (See Core Task Requirements). The zip file name must start
with your student number.http://www.6daixie.com/contents/9/2323.html
This assignment is individual work. Plagiarism (e.g. copying materials from
other sources without proper acknowledgement) is a serious academic
offence. Plagiarism and collusion will not be tolerated and will be dealt with in
accordance with the University Code of Practice on Academic Integrity.
Individual students may be invited to explain parts of their code in person, and if
they fail to demonstrate an understanding of the code, no credit will be given for
that part of the code.

因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:99515681@qq.com 

微信:codinghelp

点赞
收藏
评论区
推荐文章
光头强的博客 光头强的博客
2个月前
Java面向对象试题
1、请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
刚刚好 刚刚好
2个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
晴空闲云 晴空闲云
2个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
艾木酱 艾木酱
1个月前
快速入门|使用MemFire Cloud构建React Native应用程序
MemFireCloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Stella981 Stella981
1年前
OO(Java)第一阶段作业总结
前言     本次博客主要是针对面向对象编程学习(Java)第一阶段的总结与反思,以PTA平台的练习作业为总结评估对象,望不断学习,不断提升。一.作业过程总结_①__总结三次作业之间的知识迭代关系_• 第一次作业整体难度较小,五道试题都是基础结构中的常规类型,考察了选择、循环结构、字符编码转换以及数据精确度
Wesley13 Wesley13
1年前
2019 OO第一单元总结(表达式求导)
一.基于度量的程序结构分析1\.第一次作业  这次作业是我上手的第一个java程序,使用了4个类来实现功能。多项式采用两个arraylist来存,系数和幂指数一一对应。1privateArrayList<BigIntegercoefs;2privateArrayList<BigIntegerdegre
Stella981 Stella981
1年前
Beta冲刺
2020/06/02这个作业属于哪个课程2020春S班软件工程实践(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fedu.cnblogs.com%2Fcampus%2Ffzu%2F2020SPRINGS)这个作业要求在哪里团队作业第六次——beta冲刺事后诸
Stella981 Stella981
1年前
Spark系列——作业原理详解
前言本篇文章主要是从作业提交到最后获取到作业结果,从源码的角度,但是不涉及源码进行的分析.其目的是读完本篇文章,你将对作业的基本流程有个清晰的认识。当然如果你阅读过源码,那么读起来应该会比较舒服,否则可能会有一定不适,因为本文写的不是那么有逻辑~~~1.任务提交过程首
Stella981 Stella981
1年前
Python课 #02号作业
为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴。如果你有什么更好的想法,请在下方评论或联系我。谢谢!作业一:由行转逆列描述编写程序实现如下功能:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪
helloworld_28799839 helloworld_28799839
2个月前
常用知识整理
Javascript判断对象是否为空jsObject.keys(myObject).length0经常使用的三元运算我们经常遇到处理表格列状态字段如status的时候可以用到vue