Sudoku class used in java program, JAVA Programming

Assignment Help:

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.


Related Discussions:- Sudoku class used in java program

Explain role java.rmi.naming class, The Naming class gives methods for stor...

The Naming class gives methods for storing and obtaining references to remote objects in the remote object registry.

What is externalizable interface, What is Externalizable interface? Ext...

What is Externalizable interface? Externalizable is an interface which have two methods readExternal and writeExternal. These methods give you a control over the serialization

Liferay especialist and java programmer, Liferay Especialist and Java Progr...

Liferay Especialist and Java Programmer Project Description: We require to make a full functional Portal with online tools. JSF, Java, Portlets, Skills required: CSS

Concurrent Programming, Problem 1 A savings account object holds a non-nega...

Problem 1 A savings account object holds a non-negative balance, and provides deposit(k ) and withdraw(k ) methods, where deposit(k ) adds k to the balance, and withdraw(k ) subtra

Explain what is naming applets in java applets, Explain what is Naming Appl...

Explain what is Naming Applets in java applets? You can give an applet a name by using the NAME attribute of the APPLET element. This allows communication between different app

Explain the term array and scope of variable, Explain the term array and Sc...

Explain the term array and Scope of Variable? Defining the space in that a variable is effective is known as describing the scope of a variable. A variable can be either local

Why hub is used in networks, Why hub is used in networks? HUB: Hub is n...

Why hub is used in networks? HUB: Hub is networking component that can be used to connect the networks and it could also be used to extend the size of networks. In a simple way

What is event handler works, What is Event Handler works? An event hand...

What is Event Handler works? An event handler is a command which is used to call a function when an event happens, such as the user clicking a button or mouse.

Test driven development (tdd)? , Test Driven Development (TDD) TDD pro...

Test Driven Development (TDD) TDD process gives your confidence in the delivered code for the following things. 1. TDD can remove duplication of code and also disciplines t

Give an example for using getter methods, Give an example for Using Getter ...

Give an example for Using Getter Methods ? class CarTest6 { public static void main(String args[]) { Car c = new Car(); c.setLicensePlate("New York A45 636"); c.setMa

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd