Codingassignmenthelper | Home Codingassignmenthelper | Samples

COIT 11222 Assessment item 1—Java Console Program

COIT 11222

COIT 11222 Assessment item 1—Java Console Program

		Programming Fundamentals

COIT 11222

Assessment item 1—Java Console Program
Due date:

Week 6 T120 – Midnight, Friday 24 April 2020

ASSESSMENT

Refer below for complete assessment item 1 requirements
(Assignment One)
Weighting:

20%

Length:

N/A

1

Objectives
This assessment item relates to the unit learning outcomes as in the Unit Profile.

Details
For this assignment, you are required to develop Java Console Programs to demonstrate you can use
Java constructs including input/output via a command line and using GUI dialogs, Java primitive and
built-in data types, Java defined objects, selection and looping statements, methods, and various other
Java commands. Your program must produce the correct results.
You are only allowed to use techniques which have been covered in the first five weeks of the
subject and within the assignment literature, you must use a Scanner object for console input and
no advanced data structures like arrays will be used.
What to submit for this assignment
The Java source code:
You will be able to complete the assignment in weekly parts in which you will produce five java
source files. (More details below)
Week1.java, Week2.java, Week3.java, Week4.java and Week5.java.
Once you have completed all of the programs and you are ready to submit, compress all source files
into a single zip file for submission, do not include your report in the zip file. Only submit a zip not
a rar file. It is important the file names are correct.
o

Ass1.zip

Also submit a report including, how long it took to create the programs (approximately), any
problems encountered and screen shots of the output produced. (Use Alt-PrtScrn to capture just the
console window or your dialogs and you can paste them into your Word document) You should test
every possibility in the program and annotate your test screen shots.
Important: For this assignment you are required to paste all your source code as an appendix into
your report, do not worry about the formatting loss.
o ReportAss1.docx
COIT11222, 2020 Term One - Page 1 of 13

You will submit your files by the due date using the “Assignment 1 Submission” link on the Moodle
unit website in the Assessment Block or in the relevant week.

Assignment specification
This assignment will require you to write small five programs, do not panic! They will be small
programs which will cover the first five weekly topics. Usually students were required to write one
largish program to demonstrate the topics for the first five weeks. Students get themselves into trouble
when the first assignment is due as they have not practiced the basics skills necessary to complete the
assignment. With the assignment divided into five programs you can complete each question as we
cover the weekly topics, do not let yourself fall behind.
General Instructions
Each program must contain a header comment which contains: Your name and student number, the
name of the file, the date and a brief description of the purpose of the program:
//
//
//
//
//

Programmer: Eric Gen S01234567
File: Week1.java
Date: April 24 2020
Purpose: COIT11222 assignment one question one T120
Use println method to print initials using asterisks

All programs will be aligned and indented correctly, and contains relevant comments for declarations
and statements. All variables and objects will be declared with a meaningful name and use lowercase
camel notation:
String customerName;
All coding will be contained within a main method except for question five when a method will be
created and used.
For this assignment you will not worry about checking numeric ranges or data types.
Refer to a Java reference textbook and the unit material (available on the unit WEB
site) for further information about the Java programming topics required to complete this assignment.
Check the marking guide (last page) to ensure you have completed every task. You need to match all
output exactly as the sample screenshots shown below.
Distance and Melbourne students can email questions directly to me, other campus students should
seek help from your local tutor, and you can still contact me if it is urgent, I usually respond to emails
very promptly.
Good luck --- Bruce McKenzie COIT11222 unit coordinator term 1 2020
b.mckenzie@cqu.edu.au

COIT11222, 2020 Term One - Page 2 of 13

Question one (week one topic). Writing output to the screen.
Once you have written your first “Hello World” program you will be able to complete question one.

Implementation
Create a class called Week1 (file: Week1.java) and within it a main method.
Use the command System.out.println(""); to print out the first initial of your first and last
names as a matrix of asterisks. For example this is my first and last initials printed.

The first line of asterisks is printed with this command:
System.out.println("******

*

*");

You may need to use some graph paper to plot where you need to print your asterisks.
If you like you could submit a picture. An attempt at Mickey Mouse! Just do your initials as it takes a
while to create a picture.

COIT11222, 2020 Term One - Page 3 of 13

Question two (week 2 topics) Input of data types and arithmetic
expressions
Rocky Woodfired Pizzas program.
Rocky Woodfired Pizzas is a shop which sells woodfired pizzas in the Rockhampton area.
The cost of the base pizza which consists of tomato pizza sauce and cheese is $10.50.
The customers can choose any number of extra toppings (e.g. hot salami, ham, anchovies etc.) at a
cost of $1.25 per topping.
For simplicity we will omit what toppings will be added.
These dollar values need to be stored as constants in your program using the final keyword e.g.
final double BASE_CHARGE = 10.50;
The management of Rocky Woodfired Pizzas are requesting a program which allows staff to input a
customer’s name and the number of toppings to be added to the base pizza (this value could be zero).
The program will compute the cost of the pizza.
This program will prompt for and read in a customer name using a Scanner object.
The customer name will be stored in a String object.
The program will then output the customer name in a prompt to read in the number of toppings (as a
whole number i.e. an integer).
Finally the program will display the receipt for the customer.
You need to replicate the output exactly as shown below, including the correct line spacing.

Implementation
Create a class called Week2 (file:Week2.java) and within it a main method as per question one.
Import the Scanner class i.e.
import java.util.Scanner;

COIT11222, 2020 Term One - Page 4 of 13

Within your main method create two Scanner objects named inText and inNumber. One for reading
text and the other for reading the numbers, it does not really matter here to have separate Scanner
objects but there will be problems later when reading a series of text and numbers (see text pg 77 or
pg 81 8th edition).
Create a prompt using System.out.print(); To ask the user for the customer name.
Declare a String object customerName to store the customer name and use your inText Scanner
object and the inbuilt method inText.nextLine();
The customer name is now stored in the String object customerName.
We can now create a prompt using the customer name to ask for the number of toppings to be added
to the pizza.
Hint: you can join variables and strings using the concatenation operator +
"Enter the number of extra toppings for " + customerName + " ==> "

Declare an integer variable to store the number of toppings and use your inNumber Scanner object
and the inbuilt method inNumber.nextInt(); to read the number of toppings.
Declare a double variable to represent the charge for the pizza.
The arithmetic expression to calculate the total charge is very simple:
charge = base charge + (number of toppings * charge per topping)
Note: the base charge and the charge per topping must be stored as constants (use the final keyword
see above).
Finally output a receipt for the pizza as per the sample above.
The total charge must be displayed to two decimal points use printf and a format string as follows:
System.out.printf("$%.2f", charge);

Question three (week three topics) Decision statements
The management of Rocky Woodfired Pizzas has decided to give customers a choice of different
pizza sizes: small, medium (as per week 2) and large. The new pricing scheme is as follows:
Small base: $6.50
Small toppings: 75 cents ($0.75)
Medium base: $10.50
Medium toppings: $1.25
Large base: $14.50
Large toppings: $1.75

COIT11222, 2020 Term One - Page 5 of 13

Look at the examples below to check your calculations.
Create a class Week3 (file: Week3.java) and a main method and copy your code from question two
into the main method of week three main.
Hint: to print a quotation mark in the prompt use \".
After you have read the relevant details of the order i.e. name, pizza size and number of toppings, you
will have to create a series of if – else if statements to calculate the final charge.
Read the pizza size into a string and use pizzaSize.equalsIgnoreCase("s") in your if
conditions to determine the size which has been entered. Do the calculations as per week 2 but adjust
the relevant prices with extra constants for small and large pizzas.
Your output needs to match exactly the output as shown below.

COIT11222, 2020 Term One - Page 6 of 13

(Question four next page)

COIT11222, 2020 Term One - Page 7 of 13

Question four (week four topics) Repetition while and for loops
Create a class Week4 (file:Week4.java) to demonstrate the use of a repetition statement.

Implementation
Using your solution to question three and a while or for loop, repeat the entry of pizza orders N
times where N is the largest digit in your student ID, if your largest digit is less than three then let
N = 3. Hint: use N = 3 while testing and submit using the correct N value.
N will be declared as an integer constant using the final keyword.
You are to print a title before the input of the pizza orders (see sample output). Note the different line
spacing. You will also number the customer in the customer name prompt.
Ensure you are using a separate Scanner objects for reading numbers and text (why?).
When all of the pizza orders have been entered and their individual charges calculated, the average of
the number of the toppings for each pizza and the total of the charges collected will be reported.
Please note you do not need to store the data in an advanced structure such as an array. You
will need to have an integer variable to add up the number of toppings to calculate the average, and a
double variable to add up the charges.
Your average toppings per pizza calculation must produce a floating-point result. To get a floating
point result you will need to promote one of the operands to a double.
i.e. average = totalToppings * 1.0 / N
Sample output is on the following page.

COIT11222, 2020 Term One - Page 8 of 13

Sample output for question four.

COIT11222, 2020 Term One - Page 9 of 13

Question five (week five topics) Methods and GUI I/O
Create a class Week5 (file:Week5.java) by using your solution to question four. This question is
identical to question four as the program will read in N pizza orders and calculate the charges for the
orders, however we are going to create a method to calculate the charges and we will be using GUI
dialog boxes for our I/O.

Implementation
Methods
You will create a value returning method which will accept the pizza size and the number of toppings
as a parameter.
Use the following method header:
private static double calculateCharge(String size, int toppings)
Copy and paste your “if else if” code from question four for calculating the charge into the body of
our new method calculateCharge. You should also copy the constants for the numeric literals into the
method too. Use the return statement to return the charge.
You can now use your method in the main method loop.
charge = calculateCharge(pizzaSize, toppings);
GUI I/O
We will revisit the week two lecture topic using JOptionPane for accepting GUI input and
outputting information.
First we will output a welcome message using JOptionPane.showMessageDialog (Replace
your console print output).

Next we will replace the Scanner objects by using JOptionPane.showInputDialog.

COIT11222, 2020 Term One - Page 10 of 13

The showInputDialog method will return the string entered into the dialog text field
customerName = JOptionPane.showInputDialog(null, "Prompt");

Read in the size of the pizza.

Next you will need to prompt for the number of toppings.

We receive input from the dialog as a string, in order to convert strings to an integer we need the
Integer wrapper class and the parseInt method (text pg 347 or pg 370 8th Edition).
int anInteger =
Integer.parseInt(JOptionPane.showInputDialog(null, "Prompt"));
After reading in and converting the number of topping to an integer you can use this value to calculate
the charge for the order using your method:
Output the receipt using JOptionPane.showMessageDialog(null, "text")

COIT11222, 2020 Term One - Page 11 of 13

To format your output in the text argument in showMessageDialog you can use:
String.format("Format string",args)
See the example below for using place holders to format strings, integers and doubles.
String.format("%s\n%s\n%d\n$%.2f",
customerName, pizzaSize, toppings, charge)
%s is for a string.
%d is for an integer.
%.2f is for a floating point number (including double) formatted to two decimal places.
The \n will produce a newline and you will need to add extra text to the format string to match the
output above.

When the N orders have been entered you will output the average number of toppings per pizza and
the total charges collected both to two decimal places, you can use a similar format string as above.

The marking scheme is on the next page.

COIT11222, 2020 Term One - Page 12 of 13

Marking scheme
Total number of marks – 20
Code in general
Code is indented and aligned correctly, layout including vertical white
space is good
Code has header comment which includes student name, student ID,
date, file name and purpose of the class
Code is fully commented including all variables
Variables have meaningful names and use camel notation
Variables are the correct type
Question one
Output as per specification
Question two
Strings are read correctly using Scanner object
The integer is read correctly using a Scanner object
The order charge is computed and displayed correctly to two decimal
places
Output is formatted correctly (matches sample output)
Question three
If else statements are correct and constants are used
Correct charge is calculated and displayed correctly to two decimal places
Output is formatted correctly (matches sample output)
Question four
Constant N used equal to highest digit in student ID
N customer names, size and number of toppings are read in a loop
Program title "Rocky Woodfired Pizzas Entry System" printed
Charges printed for all orders
Average toppings per pizza and total charges are calculated and printed
correctly to two decimal places
Output is formatted correctly (matches sample output)
Question five
Method implementation (uses parameters)
Dollar (double) value returned from method correctly
Method call correct (uses an argument)
GUI welcome message
Strings are read correctly from GUI Input dialogs
Number of toppings are read correctly from GUI Input dialog and
converted to an integer
N pizza orders are read in a loop
Average and total are calculated and printed correctly to two decimal
places
Dialogs appear as per specification (matches sample output)
General
Correct files submitted including types and names (zip and Word)
Only techniques covered during weeks 1-5 and specification are used
Report
Report presentation and comments including how long the programs took
to create and any problems encountered
Screen shots of testing and annotations
Source code is supplied as an appendix

COIT11222, 2020 Term One - Page 13 of 13

1
0.5
1
0.5
0.5
1
0.75
0.75
0.5
0.5
1.5
0.5
0.5
0.5
1
0.25
0.25
1
0.5
1
0.5
0.5
0.25
0.25
0.5
0.25
0.5
0.25
0.5
0.5

0.5
0.5
1


		
To Download Click Here > COIT11222_T120_ASS1.pdf
Codingassignmenthelper | Home Codingassignmenthelper | Home