7 1 project three submission and 7 2 assignment using java api documentation

7-1

Competency

In this project, you will demonstrate your mastery of the following competency:

  • Write programs using object-oriented conventions in accordance with industry standard best practices

Scenario

Global Rain logo

You work for Global Rain, a software engineering company that specializes in custom software design and development. As a junior software developer, you are part of a software development team at Global Rain that collaborates to create software solutions for entrepreneurs, businesses and government agencies around the world.

Your Global Rain software development team has been asked to develop a menu-driven system for the Luxury Ocean Cruise Outings company. This company coordinates cruise bookings for luxury ship owners and cruise lines. As a returning customer for Global Rain, Luxury Ocean Cruise Outings has requested a simple menu-based system to perform core functions that are essential to its daily operations.

Other developers on your team have made progress on this project and have already created different classes for the software application. Your supervisor has asked you to complete several tasks to meet the customer’s needs.

Directions

The Luxury Ocean Cruise Outings company has provided Global Rain with a software specification document that details a menu-driven software application. Other developers on your software development team have already begun this project by creating the Ship, Cruise, Passenger, and Driver classes. You will modify the classes by including attributes and their proper data structures, writing methods to perform required functionality and behavior, and making sure that your program performs input validation and exception handling.

Before you get started with your assigned tasks, complete the following pre-work to understand your client’s needs, set up your development environment, and become familiar with the work that has already been completed. Refer to the Supporting Materials for relevant files to complete your pre-work.

Several individuals working at different computers

  1. Review the specification document, which will provide you with an overview of your client’s needs. Pay special attention to the relationships between the system’s different components.
  1. Open the Virtual Lab by clicking on the link in the Virtual Lab Access module. Then open your IDE. Upload the package of .java class files into your IDE and compile the code. Although the program is not complete, it will compile without error. This will help you test your development environment and ensure it is ready to start coding.
  1. Read through the code for each class. You will get clear directions in the project guide on how to modify and complete the code. This will help you understand what code has been created, and may give you ideas for the methods you must complete to meet the software requirements.
  1. Once you have completed your pre-work, you are ready to begin your assigned tasks on the menu-driven software application. Follow the project guide in the Supporting Materials section, which will take you step-by-step through completing the software application’s menu system.

What to Submit

To complete this project, you must submit the following:

Note: All class files must be submitted because the entire package of files is required for the application to run.

Driver.java Class File
Submit your modified Driver.java class file. Be sure to include in-line comments for all your changes and additions.

Cruise.java Class File
Submit your modified Cruise.java class file. Be sure to include in-line comments for all your changes and additions.

Ship.java Class File
Submit the Ship.java class file, even though you were not required to make changes to it for this project.

Passenger.java Class File
Submit the Passenger.java class file, even though you were not required to make changes to it for this project.

Supporting Materials

The following resource(s) may help support your work on the project:

Luxury Ocean Cruise Outings System Specification Document
Review the system specification document, provided by Luxury Ocean Cruise Outings, to complete the menu-driven software application.

Luxury.zip (Class Files)
Review the code in each class file to understand what code has been created and what code you will create. The Ship and Passenger classes have been fully coded and do not require changes. The Driver and Cruise classes have been partially coded and require changes. All classes are required for the Luxury Ocean Cruise Outings app.

Uploading Files to Eclipse Tutorial
You will write, test, and run each class file in an IDE. Review this tutorial to learn how to upload the zipped folder, which contains all your class files, into your IDE.

Downloading Files from Eclipse Tutorial
You will write, test, and run your class files using an IDE. Review this tutorial to learn how to save and export files from your IDE. Important: Do not change the names of any class files.

Project Three Guide
Follow this guide, which will take you step-by-step through creating the software application’s menu for Luxury Ocean Cruise Outings.

The following rubric will be used to assess Project Three. Familiarize yourself with this document as you work on the project, and return to this rubric before you submit Project Three to make sure you’ve included everything you need to be successful.

7-2

Overview

In this activity, you will revisit the Paint program from Module Six. Your original program calculated the amount of paint needed, but depending on the width and height, that value could be a long decimal. Your program will better suit the needs of the user if it can calculate the number of cans needed as an integer value. For example, given that 1 gallon = 1 can of paint, we might expect the Paint program from Module Six to output:

Paint needed: 2.142857142857143 gallons
Cans needed: 3.0 can(s)

You might at first think that you could just cast the gallonsPaintNeeded variable from a double to an integer type. However, that would merely cut off the decimal portion of the value, resulting in an underestimate of the number of cans needed. You might also consider rounding the number, but that would not work for the sample output provided above since normal rounding rules would suggest 2.0 cans, an underestimate. So, the computational problem you are faced with is to calculate the number of cans and round up to the nearest whole number. In order to determine if that method for rounding up exists as part of one of Java’s core classes, we need to consult the documentation. There might be a single method that we can use or we might have to use more than one method.

Prompt

For this assignment, you will complete the Paint program by adding code that calculates the number of cans of paint needed. Use the Uploading Files to Eclipse and the Downloading Files From Eclipse tutorials to help you with this project.

  1. Consult the official Java documentation for the Math class.
    1. Scroll to the Method Summary section of the Math class and review the methods and their descriptions. Look for a method that will help you.
    2. If a method looks promising, click on its name to see a more detailed description. Pay special attention to the argument(s) and the data type of the return value.
    3. Based on your review, select one or more methods from the Math class to use in your solution.
    4. When using a method from the Math class, use the syntax Math.methodname() when you implement the method. For example, if you decided to use the absolute value method, you would write something like: Math.abs().
  1. Open the Virtual Lab by clicking on the link in the Virtual Lab Access module. Then open your IDE and upload the Paint2.zip folder. Review the code for the Paint2.java class. Look for where it says //Complete this code block. Make sure the code you write does the following:
    1. Calculates the number of paint cans needed to paint the wall
    2. Rounds up to the nearest integer (use the test cases below to check your work)
    3. Outputs the number of cans needed for the user
Input: Input: Input: Input:
30
25
7.5
22.8
20
35
25.4
21.6
Output: Output: Output: Output:
Paint needed: 2.142857142857143 gallons
Cans needed: 3.0 can(s)
Paint needed: 0.48857142857142855 gallons
Cans needed: 1.0 can(s)
Paint needed: 2.0 gallons
Cans needed: 2.0 can(s)
Paint needed: 1.5675428571428571 gallons
Cans needed: 2.0 can(s)

Any login information will be provided when needed.