<html>
<head>
<meta content="text/html; charset=ISO-8859-2"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Sziasztok!<br>
<br>
Azért ne feledkezzünk meg arról az apróságról, hogy az Integer
immutable, az Ertek meg nem (mint látjuk). Elég lényeges különbség
abból a szempontból, hogy ez a verzió működhet, amikor egy [x,y]
értéket megváltoztatsz, az eredeti verzió meg nem.<br>
<br>
Ahogy mások már megírták, deep clone és hasonlók lehet a megoldás
a te esetedben.<br>
<br>
Üdv,<br>
Stivi<br>
<br>
<br>
On 2013-03-10 23:28, <a class="moz-txt-link-abbreviated" href="mailto:coder@gmail.hu">coder@gmail.hu</a> wrote:<br>
</div>
<blockquote cite="mid:0674db76de6bf7fdceca3cb3c55aed13@gmail.hu"
type="cite">
<p>How about this approach?</p>
<p>// A 9 egy magic number...<br>
public class Board {</p>
<p> private final Integer[][] values = new Integer[9][9];<br>
<br>
public void setValue(int x, int y, Integer value) {<br>
values[x][y] = value;<br>
}<br>
<br>
public Integer getValue(int x, int y) {<br>
return values[x][y];<br>
}<br>
<br>
public Board clone() {<br>
Board copy = new Board();<br>
for (int x = 0; i < 9; i++) {<br>
copy.setValue(x, y, values[x][y]);<br>
}<br>
}<br>
}</p>
<p> </p>
<p>Próbáld meg refaktorálni egy kicsit a kódot, hátha segít.
Jómagam legalábbis preferálni szoktam a minél kisebb, könnyen
menedzselhető darabokat; általában könnyebb is úgy adott
problémákra megoldást találni.</p>
<p> </p>
<p>Üdv.: Bence</p>
<p> </p>
<p>On Sun, 10 Mar 2013 20:11:18 +0200, Bara Zoltan wrote:</p>
<blockquote type="cite" style="padding-left:5px;
border-left:#1010ff 2px solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<pre>Sziasztok
Van itt egy jelenseg amit nem ertek tabla erteket elmentenem
tablaTemp-be majd valtoztatom
a tablat es vissza kene tolteni az eredeti ertekeket.
Eloszor probalkoztam a tabla = tablaTemp utasitassal persze sikertelenul.
Aztan olvastam hogy System.ArrayCopy a megoldas.
De nekem megse ugy tunik.
Ime a kodreszlet:
public class Sudoku extends Observable {
private Ertek tabla[][] = new Ertek[9][9];
private Ertek tablaTemp[][] = new Ertek[9][9];
....
// visszaad egy ket dimenzios tombot ami tele van a tabla elso
lehetseges soraival
e = elsoSorGenerate();
//atmentem a tablat hogy legyen meg az eredeti
for (int sor = 0; sor < tabla.length; sor++) {
System.arraycopy(tabla[sor], 0, tablaTemp[sor], 0,
tabla[sor].length);
}
if (e[tablaMutato][0] != 0){
for (int oszlop = 0; oszlop < 9; oszlop++) { //ITT
A HIBA ATIRODIK A TEMP ARRAY IS
tabla[0][oszlop].setErtek(e[tablaMutato][oszlop]);
}
}
Na ezt nem ertem hogy mutat arra cimre a tabla es a tablaTemp, hogy
lehet megvaltoztatni a tabla ertekeit hogy megmaradjon a tablaTemp.
Udv
Zoli
</pre>
</blockquote>
</blockquote>
<br>
</body>
</html>