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 25PE
Program Plan Intro

N Queens Problem

Program plan:

Filename: “PartialSolution.java”

This code snippet creates a class “PartialSolution”. In the code,

  • Define a class “PartialSolution”.
    • Declare the class variables.
    • Define the constructor “PartialSolution”.
      • Set “boardSize” equal to “n”.
      • Define the array “queens”.
    • Define the method “examine()”.
      • Iterate a “for” loop,
        • Iterate the inner “for” loop,
          • If “queens[i]” attacks “queens[j]”.
            • Return the value of “ABANDON”.
              • If the length of the “queens” is “boardSize”,
                • Return the value of “ACCEPT”.
              • Else,
                • Return the value of “CONTINUE”.
    • Define the method “extend()”.
      • Set the value of “result”.
      • Iterate a “for” loop,
        • Get the length of “queens” to “size”.
        • Set the “result[i]”.
        • Iterate a “for” loop,
          • Set “queen[j]” to “result[i]”.
                  • Append the new queen to “ith” column.
              • Return the value of “result”.
    • Define a method “toString()”.
      • Return the queens.

Filename: “Queen.java”

This code snippet creates a class “Queen”. In the code,

  • Define a class “Queen”.
    • Define the class members “row” and “column”.
    • Define a constructor “Queen()”.
      • Set the value of “row” and “column”.
    • Define the method “attacks()”.
      • Return the result of logical operation.
    • Define a method “toString()”.
      • Return the value.

Filename: “NQueens.java”

This code snippet creates a class “NQueens”. In the code,

  • Import the required packages.
  • Define a class “NQueens”.
    • Define the “main” method.
      • Prompt the user to enter the number.
      • Define the object of class “Scanner”.
      • Scan for the input.
      • If the value of “n” is greater than or equal to 0,
        • Call the method “solve()”.
    • Define the method “solve()”.
      • Define the variable “exam”.
      • If the value of “exam” equal to “ACCEPT”,
        • Print the value of “sol”.
      • Else if, the value of “exam” is “ABANDON”,
        • Iterate a “for” loop,
          • Call the method “solve()”.

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