
Explanation of Solution
a.
Method heading for each method:
- • Method heading for change the speed of the boat is “public void changeBoatSpeed(double ns)”.
- • Method heading for time of operate boat is “public void boatOperateTime(double t)”...
Explanation of Solution
b.
Preconditions and postconditions of each method:
- • Precondition and postcondition of “changeBoatSpeed” method.
- ○ Precondition: The “MotorBoat” class object should be completed and the parameter “ns” is passed to the function which is declared in a double type.
- ○ Postcondition: The boat current speed is assigned to “ns”.
- • Precondition and postcondition of “boatOperateTime” method.
- ○ Precondition: The “MotorBoat” class object should be completed and the parameter “t” is passed to the function which is declared in a double type.
- ○ Postcondition: Amount of fuel is updated by decreasing usage of fuel...
Explanation of Solution
c.
Test class for some Java statement:
//Create object for "MotorBoat" class
MotorBoat boat1 = new MotorBoat();
//Call "setValues" method for object "boat1"
boat1.setValues(5.0, 55.0, 0.001);
//Display given statement
System.out.println("User are trying to travel for 1.0 hour with no fuel.");
//Call "boatOperateTime" method with argument "1".
boat1.boatOperateTime(1.0);
//Display remaining fuel by calling method "computeRemainingFuel"
System.out.println("Fuel left is " + boat1.computeRemainingFuel());
//Display distance travelled by calling method "computeDistanceTraveled"
System.out.println("Distance travelled is " + boat1.computeDistanceTraveled());
//For next line
System.out.println();
//Display given statement
System.out.println("User trying to add 10 gallons of fuel.");
//Display given statement
System.out.println("However they should only be able to hold 5.");
//Call "refuel_Boat" method with argument "10".
boat1.refuel_Boat(10.0);
//Display remaining fuel by calling method "computeRemainingFuel"
System.out.println("Fuel left is " + boat1.computeRemainingFuel());
//Display distance travelled by calling method "computeDistanceTraveled"
System.out.println("Distance travelled is " + boat1.computeDistanceTraveled());
//For next line
System.out.println();
//Display given statement
System.out.println("User are traveling for 1.0 hour with a speed of 0.");
//Call "boatOperateTime" method with argument "1".
boat1.boatOperateTime(1.0);
//Display remaining fuel by calling method "computeRemainingFuel"
System.out.println("Fuel left is " + boat1.computeRemainingFuel());
//Display distance travelled by calling method "computeDistanceTraveled"
System.out.println("Distance travelled is " + boat1.computeDistanceTraveled());
//For next line
System.out.println();
//Display given statement
System.out.println("User trying to change the speed to 85...
Explanation of Solution
d.
Implementation of class:
MotorBoat.java:
//Import package
import java.util.Scanner;
//Define "MotorBoat" class
public class MotorBoat
{
//Declare required variable in "private" access specifier
private double fuelTank_capacity;
private double fuel_In_tank;
private double maximum_speed;
private double boat_current_speed;
private double boat_efficiency;
private double dist_traveled;
//Method definition for "setValues"
public void setValues(double ct, double s, double e)
{
//Assign values to given attributes
fuelTank_capacity = ct;
fuel_In_tank = 0.0;
maximum_speed = s;
boat_current_speed = 0.0;
boat_efficiency = e;
dist_traveled = 0.0;
}
//Method definition for change boat speed
public void changeBoatSpeed(double ns)
{
//If new speed "ns" is less than "0", then
if(ns < 0.0)
//Assign boat current speed to "0"
boat_current_speed = 0.0;
//If "ns" is greater than maximum speed, then
else if (ns > maximum_speed)
//Assign boat current speed to maximum speed
boat_current_speed = maximum_speed;
//Otherwise
else
//Assign boat current speed to "ns"
boat_current_speed = ns;
}
//Method definition for boat operate time
public void boatOperateTime(double t)
{
//If time "t" is greater than "0", then
if(t > 0.0 )
{
//Compute usage of fuel
double fuelUsage = boat_efficiency * boat_current_speed * boat_current_speed * t;
//Declare variable for actual time
double actualTime;
//Determine if user run out of fuel
if(fuelUsage > fuel_In_tank)
{
//If it is, compute actual time
actualTime = t * (fuel_In_tank/fuelUsage);
//Assign fuel in tank to "0"
fuel_In_tank = 0.0;
}
//Otherwise
else
{
//Decrement the usage of fuel
fuel_In_tank -= fuelUsage;
//Assign actual time to "t"
actualTime = t;
}
//Compute distance travelled
dist_traveled += boat_current_speed * actualTime;
}
}
//Method definition for refuel boat
public void refuel_Boat(double amt)
{
//Check amount of fuel
if(amt > 0.0)
{
if (amt + fuel_In_tank > fuelTank_capacity)
fuel_In_tank = fuelTank_capacity;
else
fuel_In_tank += amt;
}
}
//Method definition for compute remaining fuel in boat
public double computeRemainingFuel()
{
//Return remaining fuel
return fuel_In_tank;
}
//Method definition for compute distance traveled
public double computeDistanceTraveled()
{
//Return distance traveled
return dist_traveled;
}
//Define main function
public static void main(String[] args)
{
//Create object for "MotorBoat" class
MotorBoat boat1 = new MotorBoat();
//Call "setValues" method for object "boat1"
boat1.setValues(5.0, 55.0, 0.001);
//Display given statement
System.out.println("User are trying to travel for 1.0 hour with no fuel.");
//Call "boatOperateTime" method with argument "1".
boat1.boatOperateTime(1.0);
//Display remaining fuel by calling method "computeRemainingFuel"
System.out.println("Fuel left is " + boat1.computeRemainingFuel());
//Display distance travelled by calling method "computeDistanceTraveled"
System.out.println("Distance travelled is " + boat1.computeDistanceTraveled());
//For next line
System...
Want to see the full answer?
Check out a sample textbook solution
Chapter 5 Solutions
Java: An Introduction to Problem Solving and Programming (7th Edition)
Additional Engineering Textbook Solutions
Web Development and Design Foundations with HTML5 (8th Edition)
Starting Out with C++ from Control Structures to Objects (9th Edition)
Degarmo's Materials And Processes In Manufacturing
Starting Out With Visual Basic (8th Edition)
Thinking Like an Engineer: An Active Learning Approach (4th Edition)
Mechanics of Materials (10th Edition)
- Given a relation schema R = (A, B, C, D, E,G) with a set of functional dependencies F {ABCD BC → DE B→ D D→ A}. (a) Show that R is not in BCNF using the functional dependency A → BCD. (b) Show that AG is a superkey for R (c) Compute a canonical cover Fc for the set of functional dependencies F. Show your work. (d) Give a 3NF decomposition of R based on the canonical cover found in (c). Show your work. (e) Give a BCNF decomposition of R using F. Show your work.arrow_forwardThe following entity-relationship (ER) diagram models a database that helps car deal- ers maintain records of customers and cars in their inventory. Construct a relational database schema from the ER diagram. Your set of schemas should include primary-key and foreign-key constraints and you should ensure there are no redundant schemas. has_model model modelID name vehicle has_vehicle VIN dealer_ID brand name has_available_option has_option has_dealer options options_ID specification dealer dealer ID name customer_ID owned_by customer customer ID namearrow_forwardA relation schema R = (A, B, C, D, E) with a set of functional dependencies F= {D A CAB} is decomposed into R₁ = (A, B, C) and R2 = (C, D, E). (a) Is this a lossless-join decomposition? Why or why not? (b) Is the decomposition dependency preserving? Why or why not?arrow_forward
- No chatgpt pleasearrow_forwardPlease help draw alu diagraarrow_forward1. Level the resources (R) for the following network. Show exactly which activity is being moved at each cycle and how many days it is being moved. Show all cycles required to utilize the free float and the back float. B H 3 3 L 2 0-0-0 A C F G K N P Q T 0 3 2 2 1 2-2-2 7R 8R 4R 6R 4R 2R 5R 4R D 1 2R 2 M 000 4R 2 4R 1 2 3 4 B5 B BE B 5 5 7 D 2003 C NO C MBSCM В H 5 2 F 7 7 8 SH2F80 5 Н Н 6 7 7L3G4+ 6H2G4 J 4 4 14 8 L K 00 36 9 10 11 12 13 14 15 P 2 Z+ N N 4 4 Z t 2334 4 Σ + M M 4 +arrow_forward
- 2. Perform resource allocation for the following project. Resource limits are 6 labors and 2 helpers. Legend: Activity Dur Resources G H 2 3 2L 1H 2L OH A 1 3L 1H + B D F J K 3 4 6 2 4 4L 2H 3L OH 4L 1H 2L 2H 4L 2H C E 2 2 I 1 2L 1H 3L 1H 5L 1Harrow_forwardNeed Java method please. Thank you.arrow_forwardNeed Java method please. Thank you.arrow_forward
- 3. Write two nested loops to generate the following output. (Note: There is one space between each number, and any extra line shown is intentional.) 12 10 8 6 18 15 12 24 20 30 2 3 3 6 48 12 5 10 15 20 6 12 18 24 30arrow_forwardWrite in verilog coding languagearrow_forwardQ4. Consider the following two design alternatives. Walmart Walmart Store locartion 1 * capacity - Associate Name 1 id position Design Alternative "A" Store locartion 1 capacity Associate Name 1 * id position Design Alternative "B" a) Explain the semantic differences between the two designs, if any. b) Explain the differences in how each design alternative may be implemented in Java. c) which design alternative may require more storage requirement in your opinion, and why?arrow_forward
Operations Research : Applications and AlgorithmsComputer ScienceISBN:9780534380588Author:Wayne L. WinstonPublisher:Brooks Cole
Principles of Information Systems (MindTap Course...Computer ScienceISBN:9781285867168Author:Ralph Stair, George ReynoldsPublisher:Cengage Learning
C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr
Principles of Information Systems (MindTap Course...Computer ScienceISBN:9781305971776Author:Ralph Stair, George ReynoldsPublisher:Cengage Learning
Fundamentals of Information SystemsComputer ScienceISBN:9781305082168Author:Ralph Stair, George ReynoldsPublisher:Cengage Learning
Microsoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,





