bartleby

Videos

Expert Solution & Answer
Book Icon
Chapter 5, Problem 7E

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...

Blurred answer
Students have asked these similar questions
Answer all of the questions with steps by step explanation to every question.
W Go Tools Window Help mac283_quiz3_fall2025.pdf Page 2 of 2 @ Q Q Û • ¨ ® - Qy Search X 00 01 11 10 0 1 1 1 0 1 1 1 1 1 A ABC 88% Problem 3. Draw the combinational circuit that directly implements the Boolean expression: F(x, y, z) = xyz + (y²+z) Problem 4. Find the truth table that describes the following circuit. y- z - X Problem 5. a) Describe how a decoder works and indicate typical inputs and outputs. b) How many inputs does a decoder have if it has 64 outputs? NOV 6 M tv♫ zoom
CPS 2390 Extra Credit Assignment For each problem, choose the best answer and explain how you arrived at your answer. (15 points each.) 1.If control is redirected to location x4444 after the execution of the following instructions, what should have been the relationship between R1 and R2 before these instructions were executed? Address Instruction x4400 1001100010111111 x4401 0001100100100001 x4402 0001100001000100 x4403 0000100001000000 A. R1 R2 (R1 was greater than R2) B. R1 R2 (R2 was greater than R1) C. R1 R2 (R1 and R2 were equal) = D. Cannot be determined with the given information. 2. If the value stored in RO is 5 at the end of the execution of the following instructions, what can be inferred about R5? Address x3000 Instruction 0101000000100000 x3001 0101111111100000 x3002 0001110111100001 x3003 0101100101000110 x3004 0000010000000001 x3005 0001000000100001 x3006 0001110110000110 x3007 0001111111100001 x3008 0001001111111000 x3009 0000100111111000 x300A 0101111111100000 A. The…

Chapter 5 Solutions

Java: An Introduction to Problem Solving and Programming plus MyProgrammingLab with Pearson eText -- Access Card Package (7th Edition)

Additional Engineering Textbook Solutions

Find more solutions based on key concepts
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Operations Research : Applications and Algorithms
Computer Science
ISBN:9780534380588
Author:Wayne L. Winston
Publisher:Brooks Cole
Text book image
Principles of Information Systems (MindTap Course...
Computer Science
ISBN:9781285867168
Author:Ralph Stair, George Reynolds
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
Principles of Information Systems (MindTap Course...
Computer Science
ISBN:9781305971776
Author:Ralph Stair, George Reynolds
Publisher:Cengage Learning
Text book image
Fundamentals of Information Systems
Computer Science
ISBN:9781305082168
Author:Ralph Stair, George Reynolds
Publisher:Cengage Learning
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
6 Stages of UI Design; Author: DesignerUp;https://www.youtube.com/watch?v=_6Tl2_eM0DE;License: Standard Youtube License