EBU4201代做、代写Java设计编程
EBU4201 Introductory Java Programming 2023/24
Mini Project
Task 1 [25 marks]
SuperHeroTT is a simple Graphical User Interface (GUI) application for children where they can
practise their times tables (see Figure 1).
Figure 1 - First launch of SuperHeroTT
When launched, your app should look like Figure 1 - First launch of SuperHeroTT. The drop-down
box at the top should consist of numbers from 1-12 (inclusive). The superhero image
(superhero.jpg1
) has been provided to you. The flow of the program is as follows:
1) User selects a number from the drop-down list and clicks on the Start button.
2) The label Product is replaced by a product of the form x * n where x is the selected value
from the drop-down list and n is a random number in the range 1-12 (inclusive) AND the
Start button text is changed to Next.
3) User enters their answer for the product and clicks on Next.
4) If the answer is correct, Answer is replaced by Correct; otherwise Answer is replaced by
Wrong! x * n = y where y is the correct answer. See Figure 2.
5) Regardless of the answer being right or wrong, a new product should appear AND the
answer box (i.e. text-field) should be cleared.
6) At the end of a round, i.e. after 5 product questions, the label Rating should be replaced by
You got m correct! where m is the number of correct responses AND the Next button
should change back to Start.
7) The above process can be repeated any number of times.
Note 1: If the user wishes, they can change their selection from the drop-down list during a round.
Note 2: If the user clicks Next with no text entered, there must be no run-time exceptions
generated AND the product question must not change to the next one.
Note 3: The button or image must not resize when the GUI is resized.
1
Image taken from https://www.vecteezy.com/.
2/5
Figure 2 - Wrong answer
Hint: Consider using containers within containers and using layouts intelligently.
Note: All the necessary files should be placed in a directory called Task1.You can choose
whether to place the image files directly under Task1 or within a sub-directory. Whichever
approach you take, the images must be displayed on the GUI without having to move the image
files to different locations within your directory structure.
Also note that your application must run as expected from the command line on OpenJDK
21.0.2 without the markers having to alter any code, file locations etc. Otherwise, it will not
be possible to award marks for any of the functionalities.
Task 2 [15 marks]
Your second task is to enhance the application developed in Task 1, to allow the user to select
more than one multiplicand, i.e. x (of the product x * n) at the same time. The application must
still function as specified in Task 1, the only difference being that x will be one of the selected
numbers, chosen randomly, during each of the 5 questions that make up a round.
For example, say the user selected the following multiplicands: 2, 5, 6 and 12. The set of product
questions can be:
5 *12
6 * 11
2 * 1
12 * 4
2 * 10
Note 1: It is possible that not all selected multiplicands will appear in a given round.
Note 2: The program must ensure that the users select at least one multiplicand. There is no
maximum limit so users can select any number of multiplicands (up to 12).
Hint 1: Use another appropriate component in place of the drop-down list that was used in
Task 1.
Note: All the necessary files (including any reused ones from Task 1) should be placed in a
directory called Task2.
3/5
Documentation [10 marks]
Your submitted work must include:
a. Generated Javadocs (for all Java files)
b. Internal comments in your code (for all Java files)
c. User Manual. This should be no more than 2 pages and describe, in your own words, how
to run the program (both how to start and how to use it).
Note: All documentation files should be placed in a directory called Documentation.
Extra Credit [5 marks]
Extra marks from this section can be used to top up your final grade for this project. The
maximum mark you can achieve is still 50.
Further enhance your application in the following two ways:
a) Include a timer, i.e. at the end of a round, replace Answer with You took t seconds where t
is the time taken to complete the round, in seconds. See an illustrative example in Figure 3.
Figure 3 - Timer
Hint: You are provided with the Java code (TimerDemo.java) for a simple timer using
javax.swing.Timer. Make use of this code in your program.
Note: if you wish you can visually display a countdown on your GUI. Alternatively you can
simply print out to the console, similar to TimerDemo.java.
b) Set the answer box (i.e. text-field) in focus every time the user is expected to type an answer
so that they do not need to click on the answer box.
Hint: look up methods of the text-field (e.g. JTextField) class in the Java API.
Note: All the necessary files (including any reused ones from Task 1 and Task 2) should be
placed in a directory called ExtraCredit.
4/5
Important notes:
1. This is an individual piece of work.
2. All three directories must be included in a zip file. The filename must be your QM Student
Number.
3. You should design your classes properly, following object-oriented principles. E.g., do NOT
write everything in the main method, keep code repetition to a minimum (i.e., use methods),
do NOT use static methods unless there is a good reason. There will be marks allocated for
good program design.
请加QQ:99515681 邮箱:99515681@qq.com WX:codinghelp
- iSEE全球美味奖公布,星期零口袋沙拉棒摘星
- NCV8406DTCRKG: High-Performance Automotive LED Driver | ChipsX
- COMP30023代写、代做C/C++语言程序
- 虚拟商城的跨境电商 Line 群发云控笑料奇遇:在虚拟商城的幻境中,经历一场TG-WS-LINE频道号,直登号,协议号,老号
- Optimisation代做、代写Optimisation编程设计
- 新点软件荣获上海市大数据中心2023年度软件开发优秀服务商奖
- Alpha系统重大更新,公司主体库性能再创新高
- Ins快速引粉营销方法,Ig引流工具推荐,instagram群发软件
- Instagram出海营销引流策略分享,ins群发引流吸粉攻略
- 从小白到高手 她在海外市场使用WhatsApp拉群工具 社交媒体影响力上涨了70%
- 河北电动自行车平台:绿色出行新选择,智慧生活新风尚
- 未知商务维度 WhatsApp拉群工具如何在科技魔法的引导下 让用户感受到业务体验的新奇与惊艳
- instagram新手营销推广必备工具,ins独家自动群发软件
- WhatsApp拉群营销工具改变我的命运,营业额飙升到新高度
- COMP 315代做、代写Java/c++编程语言
- SDSC4026代写、代做Python / Matlab程序
- Ins一键群发工具,Instagram群发群控工具,让你的营销更高效!
- 新点软件持续助力智慧城市“一网统管”长效可持续发展
- Instagram营销助手 - ins群发工具/ig营销助手/ins引流神器
- Instagram自动吸粉引流神器,Ins全新营销工具现已推出!
- ODCC春季全会召开| 忆联持续5年以领先技术为ODCC项目研究提供支持
- 创意不设限 业务飞速 WhatsApp拉群营销工具让您在市场中脱颖而出
- 代做Real-time 2-D Object Recognition
- tg群发软件,telegram营销软件,2024年最新天宇爆粉神器欢迎测试
- 新突破!同仁堂健康冻干冬虫夏草(人工抚育)奢耀献市
- WhatsApp营销软件,ws最强群发工具/ws协议号/ws业务咨询大轩
- 外贸新星 WhatsApp拉群营销工具的奇异之处 引发我的浓厚好奇
- 世贸通美国移民:又一批EB5投资人I-829获批,永久绿卡无忧!
- instagram引流新方式,ig/ins独家引流群发营销助手
- WhatsApp全球拉群,ws协议号自动注册工具/ws群发/ws养号
推荐
- 老杨第一次再度抓握住一瓶水,他由此产生了新的憧憬 瘫痪十四年后,老杨第一次再度抓握住一瓶水,他 科技
- 全力打造中国“创业之都”名片,第十届中国创业者大会将在郑州召开 北京创业科创科技中心主办的第十届中国创业 科技
- 创意驱动增长,Adobe护城河够深吗? Adobe通过其Creative Cloud订阅捆绑包具有 科技
- 疫情期间 这个品牌实现了疯狂扩张 记得第一次喝瑞幸,还是2017年底去北京出差的 科技
- 升级的脉脉,正在以招聘业务铺开商业化版图 长久以来,求职信息流不对称、单向的信息传递 科技
- 苹果罕见大降价,华为的压力给到了? 1、苹果官网罕见大降价冲上热搜。原因是苹 科技
- B站更新决策机构名单:共有 29 名掌权管理者,包括陈睿、徐逸、李旎、樊欣等人 1 月 15 日消息,据界面新闻,B站上周发布内部 科技
- 如何经营一家好企业,需要具备什么要素特点 我们大多数人刚开始创办一家企业都遇到经营 科技
- 智慧驱动 共创未来| 东芝硬盘创新数据存储技术 为期三天的第五届中国(昆明)南亚社会公共安 科技
- 丰田章男称未来依然需要内燃机 已经启动电动机新项目 尽管电动车在全球范围内持续崛起,但丰田章男 科技