<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-2"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Itten komoly bajok vannak ezzel a példával.<div><br></div><div>Először is, a clone() metódusban nincs y, kimaradt a második, belső ciklus.</div><div><br></div><div>Pont az eredeti problémát, hogy az Ertek-ből nem keletkezik új copy nem oldja meg. Persze ezt kikerülöd azzal, hogy helyette immutable Integer-t használsz, amivel csökkented az absztakciós szintet, és ezért nincs probléma. Mintapéldának kifejezetten rossz. Egyébként is.</div><div><br></div><div>Aztán meg nagyon nem látom értelmét a setternek, meg a getternek. Miért olvashatóbb a&nbsp;</div><div><br></div><div><blockquote type="cite"><p>&nbsp;copy.setValue(x, y, values[x][y]);</p></blockquote>mint&nbsp;</div><div><br></div><div>copy.values[x][y] = values[x][y]</div><div><br></div><div>Csak azért settert meg gettert használni, mert az divatos? Mi az értelme a setter-nek, meg a getter-nek? Nah, majd erről is írok egy birkapásztor cikket. Elmagyarázom a birkáknak a lényeget (bocs, ez csak rossz vicc volt, nagyon beképzelt a mondat, de nem bírom kihagyni a poént).</div><div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; border-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="color: rgb(136, 136, 136); ">--</span><span class="Apple-style-span" style="color: rgb(136, 136, 136); "><br></span><span class="Apple-style-span" style="color: rgb(136, 136, 136); ">Verhás Péter</span><span class="Apple-style-span" style="color: rgb(136, 136, 136); "><br></span><span class="Apple-style-span" style="color: rgb(136, 136, 136); "></span><span class="Apple-style-span" style="color: rgb(136, 136, 136); "><a href="mailto:peter@verhas.com">peter@verhas.com</a></span><span class="Apple-style-span" style="color: rgb(136, 136, 136); "><br></span><span class="Apple-style-span" style="color: rgb(136, 136, 136); ">+36(30)9306805</span><span class="Apple-style-span" style="color: rgb(136, 136, 136); "><br></span><span class="Apple-style-span" style="color: rgb(136, 136, 136); ">skype: verhas</span></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On 2013.03.10., at 23:28, <a href="mailto:coder@gmail.hu">coder@gmail.hu</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<div><p>How about this approach?</p><p>// A 9 egy magic number...<br>public class Board {</p><p>&nbsp; &nbsp; private final Integer[][] values = new Integer[9][9];<br><br>&nbsp; &nbsp;&nbsp;public void setValue(int x, int y, Integer value) {<br>&nbsp; &nbsp; &nbsp; &nbsp; values[x][y] = value;<br>&nbsp; &nbsp; }<br><br>&nbsp; &nbsp; public Integer getValue(int x, int y) {<br>&nbsp; &nbsp; &nbsp; &nbsp; return values[x][y];<br>&nbsp; &nbsp; }<br><br>&nbsp; &nbsp; public Board clone() {<br>&nbsp; &nbsp; &nbsp; &nbsp; Board copy = new Board();<br>&nbsp; &nbsp; &nbsp; &nbsp; for (int x = 0; i &lt; 9; i++) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; copy.setValue(x, y, values[x][y]);<br>&nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; }<br>}</p><div>&nbsp;<br class="webkit-block-placeholder"></div><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><div>&nbsp;<br class="webkit-block-placeholder"></div><p>Üdv.: Bence</p><div>&nbsp;<br class="webkit-block-placeholder"></div><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 &lt; tabla.length; sor++) {
                 System.arraycopy(tabla[sor], 0, tablaTemp[sor], 0, 
tabla[sor].length);

             }

     if (e[tablaMutato][0] != 0){
                     for (int oszlop = 0; oszlop &lt; 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

_______________________________________________
Javalist mailing list
<a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist">http://lists.javaforum.hu/mailman/listinfo/javalist</a>
</pre>
</blockquote>
<div>&nbsp;</div>
</div>
_______________________________________________<br>Javalist mailing list<br><a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>http://lists.javaforum.hu/mailman/listinfo/javalist<br></blockquote></div><br></div></body></html>