Java: An Introduction to Problem Solving and Programming (7th Edition)
Java: An Introduction to Problem Solving and Programming (7th Edition)
7th Edition
ISBN: 9780133766264
Author: Walter Savitch
Publisher: PEARSON
bartleby

Videos

Textbook Question
Book Icon
Chapter 9, Problem 13E

Write a class LapTimer that can be used to time the laps in a race. The class should have the following private attributes:

  • running — a boolean indication of whether the timer is running
  • startTime — the time when the timer started
  • lapStart — the timer’s value when the current lap started
  • lapTime — the elapsed time for the last lap
  • totalTime — the total time from the start of the race through the last completed lap
  • lapsCompleted — the number of laps completed so far
  • lapsInRace — the number of laps in the race

The class should have the following methods:

  • LapTimer (n) — a constructor for a race having n laps.
  • start — starts the timer. Throws an exception if the race has already started.
  • markLap — marks the end of the current lap and the start of a new lap. Throws an exception if the race is finished.
  • getLapTime — returns the time of the last lap. Throws an exception if the first lap has not yet been completed.
  • getTotalTime — returns the total time from the start of the race through the last completed lap. Throws an exception if the first lap has not yet been completed.
  • getLapsRemaining — returns the number of laps yet to be completed, including the current one.

Express all times in seconds.

To get the current time in milliseconds from some baseline date, invoke

Calendar.getInstance ().getTimeInMillis ()

This invocation returns a primitive value of type long. By taking the difference between the returned values of two invocations at two different times, you will know the elapsed time in milliseconds between the invocations. Note that the class Calendar is in the package java.util.

Blurred answer
Students have asked these similar questions
Write a class called TV with attributes: channel, volumeLevel, on_Off_state. The default values should be 1 for channel (only channels 1 to 100 are allowed), 5 for volumeLevel (only volumeLevels 1 to 10 are allowed), and OFF for on_Off_state (only ON and OFF are allowed). The TV class should allow the user to create a default TV and a TV with given parameters for channel, volumeLevel, on_Off_state. User should be able to set the TV channel to any channel, or increment or decrement the channel within the channel range. User can only increment or decrement volumeLevel within the valid range. User should be able switch the TV ON or OFF. User should be able read the current state of TV (i.e. values of channel, volumeLevel, and on_Off_state).
Define a class attribute named min_in_full in the Time class, and assign min_in_full with 'minutes'. Ex: If the input is 28, then the output is: 28 minutes
Create a parent class Person with one attribute age and one method greet() that prints out "Hello, world!". By default, the age is 20. Then create a subclass CollegeStudent that inherits from Person and has its own attributes School_Name and Major. Then create an object (a college student, his name is Harry, age is 21, School_Name is "Felician University", and Major is "Computer Science"), then let Harry say"Hello World!".

Chapter 9 Solutions

Java: An Introduction to Problem Solving and Programming (7th Edition)

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
    EBK JAVA PROGRAMMING
    Computer Science
    ISBN:9781337671385
    Author:FARRELL
    Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
6 Stages of UI Design; Author: DesignerUp;https://www.youtube.com/watch?v=_6Tl2_eM0DE;License: Standard Youtube License