Sudoku class used in java program, JAVA Programming

Sudoku Class (Simple Version)

The Sudoku class will encapsulate the minimum necessary data and logic to manipulate, print, and set the SudCells, in anticipation of a higher level Solver class.  This should not contain logic that is about the solution algorithm.  There is a little wiggle room in here, because you do have to allow the basic maneuvers that a Solver class would need, and these might be considered part of the algorithm, but I have determined where to draw the line for you, and you will see this in the choice of my included methods.

The most obvious data structure that Sudoku must contain is a 2-D array (matrix) of SudCells.  The second aspect of this class is the grouping of nine small 3x3 sub-matrices which most people call groups or blocks, but I wanted to call Sectors. Here is a picture of the data organization of a Sudoku object for our project:

2143_Sudoku Class.png

It is made up of SudCell objects (informally, "cells"), but we also want use the terms row, column and sector when describing fundamental operations that our Solver might need.  For instance the Solver might ask the Sudoku to "force the number 1 into cell (2, 3)" (row two column three).  Or maybe it needs to say, "rule out the value 9 from cell (5, 1)". It may need to ask, "how many possible digits (true values) are left in cell (1, 1)?"

There will also be a few methods that border on Solver actions, but they are so fundamental that we can safely put them into the Sudoku class.  For example, we want a method that tells us when the Sudoku is solved. In our implementation, I provide a method that returns true if each cell has only one remaining value (only one true in the digits[] array).  Similarly, there are methods that total up all the remaining un-ruled out values for the entire 9x9 suds[] array, something that will be helpful for algorithms to know ("have we ruled out any new values since the last rule we applied or are we going around in circles?")

In summary, our Sudoku class will have to collect 81 SudCells in a 9x9 matrix, but also superimpose nine 3x3 sectors on these same SudCells.  It will have to have accessor-like and mutator-like methods to inquire about and make changes to individual SudCells based on row, column and sector.  Because the nine sectors are very tricky, this will not be done in Option A.  If you are up to the challenge, you would attempt that in intermediate/advanced options.

Posted Date: 2/16/2013 5:15:27 AM | Location : United States







Related Discussions:- Sudoku class used in java program, Assignment Help, Ask Question on Sudoku class used in java program, Get Answer, Expert's Help, Sudoku class used in java program Discussions

Write discussion on Sudoku class used in java program
Your posts are moderated
Related Questions
What is an Iterator? Some of the collection classes give traversal of their contents via a java.util.Iterator interface. This interface permits you to walk through a collection

Cadence Design Systems:   Role Working on tickets including debugging of unix based applications Installations of unix based tools/utlity Installation

JDBC stands for Java Database Connectivity: It is an API which gives easy connection to a wide range of databases. To connect to a database we have to load the appropriate dri

Give an example for Passing Arguments to Methods ? class Car { String licensePlate = ""; // e.g. "New York 543 A23" double speed = 0.0; // in kilometers per h

We need a very good iOS and/or Android developer preferred to be from Egypt. He will be responsible in developing iOS or/ and Android apps for a company. All details will be provid

QUESTION 3: Overloaded methods Write the overloaded method named average () for each of the following problems: a) The first method receives THREE (3) integer values and returns

A fictitious train company, 'Transrail', has commissioned you to write a program that manages a list of train tickets. The program should display a text menu that prompts the us

Develop an ehospital project Project Description: I am preparing ehopsital project.for the requires of hospital in that patient registration and billing module and stores mod

What is an abstract class? Abstract class must be extended/subclassed (to be useful). It serves as a template. A class that is abstract may not be instantiated (ie. you may not

Project Description: A web developer is required to finish a webcam site with basic account management and voting functionality. The website can make use of a third party fla