联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2023-11-11 10:21

IEMS5731 Software Design and Development (Fall 2023)

Individual Course Project Specification - GUI Calculator

Expected time: 10 hours

Learning outcomes:

1. To practise GUI buttons, labels and radio buttons in Java.

2. To experience the MVC pattern via a GUI calculator.

Instructions:

1. Do your own work. You are welcome to discuss the problems with your fellow

classmates. Sharing ideas is great, and do write your own explanations.

2. If you use help from the AI tools, e.g. ChatGPT, write clearly how much you obtain help

from the AI tools. No marks will be taken away for using any AI tools with a clear

declaration.

3. All work should be submitted onto the blackboard before the due date.

4. You are advised to submit a compressed file (.zip/.rar) containing your project. No

reports are required in the individual course project.

5. You only need to submit one project, containing all your work (completed tasks).

6. No submissions for the individual course project will result in failing the course.

7. Due date: 22th November, 2023 (Wednesday) 23:59

Summary of the Tasks

You are advised to implement the calculator based on the steps below.

1. Basic information (10%)

2. Background of the display of the number (10%)

3. Radio button selection (20%)

4. The “Sp” button (20%)

5. Fancy view (20%)

6. Multiply and divide first, then add and subtract (20%)

1

Important reminder: You need to use the provided skeleton. If you rewrite the whole

calculator, or put everything into a big class, you will not receive any scores from the

individual course project.

Task 1: Basic information (10%)

In this task, you should include all basic components of your project, including:

● The submitted project can be executed on eclipse without any errors.

● Your name and student ID are filled in the comment of the Calculator.java.

● The declaration of academic honesty is filled in the comment of the Calculator.java.

● The title of the application is updated to your student ID.

2

Task 2: Background of the display of the number (10%)

In this task, you are going to change the background of the display of the number to an

image. The area is indicated by the purple border in the image below.

3

Task 3: Radio button selection (20%)

In this task, you are going to develop the property for the radio buttons at the bottom:

● When the application starts, the option “Classic view” is selected.

● When the user clicks the “Classic view” while “Classic view” is selected, no changes

occur.

● When user chooses the “Fancy view”, “Fancy view” is selected, and “Classic view” is

unselected

● Exactly one option is selected.

4

Task 4: The “Sp” button (20%)

In this task, you are going to implement the “Sp” button based on the unit digit of your

student ID.

Unit digit of your

student ID

Display on the

“Sp” button

Function Number before

clicking the

button

Number after

clicking the

button

0 or 1

e.g.

1155100000

1155100001

inv inverse value -5731 -0.0001744896

2 or 3

e.g.

1155100002

1155100003

log Logarithm base

10

5731 3.75823040846

4 or 5

e.g.

1155100004

1155100005

x^2 Square value -5731 32844361

6 or 7

e.g.

1155100006

1155100007

sqrt Square root 5731 75.7033684852

8 or 9

e.g.

1155100008

1155100009

-ve Negative -5731 5731

When a negative number is supplied to square root or logarithm base 10, or 0 is supplied to

inverse, output “infinity”, which is the same behaviour as 1/0 implemented in the calculator.

5

Task 5: Fancy view (20%)

In this task, you are going to design the “Fancy view” of the calculator.

● When “Fancy view” is selected, the button panel is changed.

● When “Classic view” is selected, the button panel is resumed to the original one.

● In the “Fancy view”, the position of the buttons are redesigned.

● In the “Fancy view”, there are differences in the button size.

● In the “Fancy view”, there are visual properties (e.g. colors, shading, font style, …

etc) on each button.

● Switching the view does not affect the procedure of calculation. E.g. you press “1 + 3

+” in the “Classic view”. 4 is shown on the display. Then, when you switch to the

“Fancy view”, 4 still appears on the display. Then, you press “5 +”, and 9 is displayed.

Then, you switch back to “Classic view”, and press “1 =”. Finally, 10 is displayed.

6

Task 6: Multiply and divide first, then add and subtract (20%)

In this task, you are going to update the model, so that the calculation will follow the rule,

“multiply and divide first, then add and subtract”.

To illustrate the rule, study the example: “1 + 2 - 3 * 4 / 6 =”, carefully.

Button pressed Display in the original design Display in the updated design

1 1 1

+ 1.0 1.0

2 2 2

- 3.0 3.0

3 3 3

* 0.0 3.0

4 4 4

/ 0.0 12.0

6 6 6

= 0.0 1.0

< End of Specification >

7


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp