当前位置:天才代写 > JAVA代写,java代考-JAVA作业代写免费Moss检测 > CS科目代写之Java Programming 2018 Mini Project Task

CS科目代写之Java Programming 2018 Mini Project Task

2018-06-05 08:00 星期二 所属: JAVA代写,java代考-JAVA作业代写免费Moss检测 浏览:551

Introductory Java Programming 2018

 

Task 1 [20 Marks]

Mini Project


 

Your task is to write a basic maths teacher program with a graphical user interface (GUI). This will be called MathTeacher. The application will be used by young children to practice simple arithmetic. When the application is executed, it will display an arithmetic question such as “5 + 3”. The child will answer the question (“8” in this case), and be told if the answer is correct or not.

 

A screen shot of part of the application is show in Figure 1, where the question is “4 – 4”. The answer is to be entered into the white rectangular text box, and pressing the button labelled “Press for answer” will display the correct answer on a label.

image.png 

Figure 1 Screenshot of Example Implementation

The arithmetic operations allowed are {+, -, x, /}. The arguments are generated automatically and must be integers (whole numbers) in the range 1 to 10 (i.e. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10). The application will then generate arithmetic questions in the general form:

 

(argument one) (arithmetic operation) (argument two)

Correct examples include:

· “5 + 7”

· “9 – 8”

· “1 x 7”

· “6 / 3”

 

Examples of arithmetic questions that are not allowed include:

· “4.5 + 9.3” (i.e. we are not allowing decimals)

· “-8 + 8” (i.e. we are not allowing negative numbers for the arguments).

· “2 ^ 3” (i.e. we are not allowing operators other than {+, -, *, /})

 

For the mini-project, you must implement the MathTeacher application, including its Graphical User Interface. We have purposefully left the specification relatively open-ended to allow you to be creative and devise your own approaches. However, the following is a list contains a minimum set of requirements that you must fulfil when writing your mini-project:

a) The title of the JFrame must be ‘Math Teacher’.

b) The initial text for the question should be a random arithmetic question e.g. “3 * 4”.

c) The input text field should be wide enough to display at least THREE characters (i.e. the maximum answer is 100).

d) The button ‘Press for answer’ must not resize when the GUI is resized. See Hint 2.

e) When first launched, a random arithmetic question will be displayed. Whenever a correct answer is given, the user should be informed. Then a new arithmetic question should be displayed.


f) Nothing should happen if the user clicks the ‘Press for answer’ button without entering anything in the text field, i.e. no errors should be thrown in this case.

g) The MathTeacher class  must have a main() method that launches the application.

 

Note: you can assume that only a numeric value will be entered into the text field.

 

Task 2 [5 Marks]

 

You may notice that entering a non-numeric value and clicking the ‘Check!’ button will cause a run-time error on the console. Therefore, your second task is to improve the application developed in Task 1 to ensure the user is only allowed to supply valid input values, i.e. a number between 1 and 100 (inclusive). The application must still function as specified in Task 1.

Hint: Use another appropriate component in place of the text field.

 

Note: All the necessary files (including any reused ones from Task 1) should be placed in a directory called Task2.

 

Documentation [5 Marks]

You must include:

a. Generated Javadocs

b. Internal comments in your code.

c. A User Manual. This should be no more than 2 pages and include 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.

 

Extension 1 [5 Marks]

Integers are whole numbers such as 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. When doing division, it is possible that the answers are not integers. For example, 2/4 is 0.5. How can you restrict the questions asked such that the answer is always an integer? For example, we want questions such as 8/2 (which equals an integer) and NOT 2/4 (which equals a decimal).

 

Hint: Instead of thinking about x/y=z (where x and y are integers, but z may not be), think about (x*y)/y (where x and y are integers). This will guarantee the resulting number is an integer

 

Extension 2 [5 Marks]

A record of the score should be maintained. Each time the child correctly answers the question, the integer score variable is increased by one. The total number of correct answers should be displayed in a text field. For example, if the child has correctly answered 5 out of 10 questions, the application will display “5 correct out of 10”.

 

Hint: Consider using containers within other containers and using layouts intelligently.

 

Extension 3 [5 Marks]

In addition to entering the answer in the textbox directly using the keyboard, the GUI should also have a “calculator key pad” with the digits 0-9. The user now has a choice of entering the answer via the keyboard or via the GUI.

 

Hint: Consider using Grid layout container.

代写CS&Finance|建模|代码|系统|报告|考试

编程类:C++,JAVA ,数据库,WEB,Linux,Nodejs,JSP,Html,Prolog,Python,Haskell,hadoop算法,系统 机器学习

金融类统计,计量,风险投资,金融工程,R语言,Python语言,Matlab,建立模型,数据分析,数据处理

服务类:Lab/Assignment/Project/Course/Qzui/Midterm/Final/Exam/Test帮助代写代考辅导

天才写手,代写CS,代写finance,代写statistics,考试助攻

E-mail:850190831@qq.com   微信:BadGeniuscs  工作时间:无休息工作日-早上8点到凌晨3点


如果您用的手机请先保存二维码到手机里面,识别图中二维码。如果用电脑,直接掏出手机果断扫描。

qr.png

 

    关键字:

天才代写-代写联系方式