troubleshooting Question

Sudoku code

Avatar of dajoebomb
dajoebombFlag for United Kingdom of Great Britain and Northern Ireland asked on
Java
10 Comments1 Solution359 ViewsLast Modified:
Hi guys , (sorry i only have 100 points left!!!!)
I've got a problem (im using BlueJ)
Basically i need to say (this is half in english and half in code) Look in the ArrayList row (i have added the items correctly to the ArrayLists) and column and block and if the value 1 is not in there then put it in a maybe ArrayList.Now increase the value by 1 and repeat (i.e if the value is in the row, column or block ArrayList). once finished:

If maybe.size() == 1 then maybe.get(0) and set the Square as that Value using the setValue() method in the Square Class.

This is what ive got so far, the end bit is wrong thow i just can't get my head around it!

[CODE]
 public void doIt()
                {
                    for (int i =0; i <81; i++)
                    {
                        row.clear();
                        column.clear();
                        block.clear();
                        maybe.clear();
                       
                        Square temp = (Square) positioning.get(i);
                       
                        int tempRow = temp.getRow();
                        int tempColumn = temp.getColumn();
                        int tempBlock = temp.getBlock();
                       
                        for (int n = 0; n < 81; n++)
                        {
                            Square temp2 = (Square) positioning.get(n);
                           
                            if (tempRow == temp2.getRow())
                            {
                                if (temp2.getName().equals(temp.getName()))
                                {
                                }
                                else
                                {
                                    row.add(temp2);
                                }
                            }
                            if (tempColumn == temp2.getColumn())
                            {
                                if (temp2.getName().equals(temp.getName()))
                                {
                                }
                                else
                                {
                                    column.add(temp2);
                                }
                            }
                            if (tempBlock == temp2.getBlock())
                            {
                                if (temp2.getName().equals(temp.getName()))
                                {
                                }
                                else
                                {
                                    block.add(temp2);
                                }
                            }
                           
         for (int tryValue = 1; tryValue < 10; tryValue++)
         {
             for (int n1 = 0; n1 < block.size(); n1++)
             {
                 for (int n2 = 0; n2 < row.size(); n2++)
                 {
                     for (int n3 = 0; n3 < column.size(); n3++)
                     {
                         Square temp11 = (Square) block.get(n1);
                         Square temp12 = (Square) row.get(n2);
                         Square temp13 = (Square) column.get(n3);
                         

                       
                         
                         //below says if 1 does not equal 0 then set value - this bit should be changed
                         if ((tryValue == temp11.getValue()) && (tryValue == temp12.getValue()) && (tryValue == temp13.getValue()) && (temp.getWritable() == true) && (temp11.getValue() != 0) && (temp12.getValue() != 0) &&(temp13.getValue() != 0))
                         {
                             temp.setValue(tryValue);
                             temp.setWritable();
                         }
                     }
[/CODE]
ASKER CERTIFIED SOLUTION
Kelvin_King

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 10 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 10 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros