Big Java, Binder Ready Version: Early Objects
Big Java, Binder Ready Version: Early Objects
6th Edition
ISBN: 9781119056447
Author: Cay S. Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 13, Problem 6PP
Program Plan Intro

Tower of Hanoi

Program plan:

Filename: “DiskMover.java”

This program file is used to define a class “DiskMover”. In the code,

  • Import the required packages.
  • Define a class “DiskMover”.
    • Define constants “BEFORE_LARGEST”, “LARGEST”, “AFTER_LARGEST”, and “DONE”.
    • Define the class members “source”, “target”, “disks”, “simplerMover”.
    • Define the “DiskMover()” constructor.
      • Initialize the class members “source”, “target”, “disks”.
      • If the value of “disk” is greater than 1,
        • Define the object “simplerMover” of class “DiskMover”.
      • Set “BEFORE_LARGEST” to “state”.
    • Define the “hasMoreMoves()” constructor.
      • Return the result of “state != DONE”.
    • Define the “nextMove()” constructor.
      • If the value of “disks” is equal to 1,
        • Set the “state” equal to “DONE”.
        • Return the “source” and “target”.
      • If the “state” equal to “LARGEST”,
        • Set the “state” equal to “AFTER_LARGEST”.
        • Create a variable “other” and set its value.
        • Define the object “simplerMover” of class “DiskMover”.
        • Return the “source” and “target”.
      • Get the move to string variable “r”.
        • If the condition “!simplerMover.hasMoreMoves()” is equal to true,
          • Check if “state==BREFORE_LARGEST”,
            • Set “state” equal to “LARGEST”.
          • Else,
            • Set “state” equal to “DONE”.
              • Return the value of “r”.

Filename: “DiskMoverDemo.java”

This program file is used to define a class “DiskMoverDemo”. In the code,

  • Import the required packages.
  • Define a class “DiskMoverDemo”.
    • Define the “main” method.
      • Define an integer variable “n”.
      • Define the object “mover” of “DiskMover”.
      • Iterate a “while” loop,
        • Call the method “nextMove()” using “mover” and return the value.

Blurred answer

Chapter 13 Solutions

Big Java, Binder Ready Version: Early Objects

Knowledge Booster
Background pattern image
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education