Ich habe die folgende Methode in einer meiner Klassen namens Board. Board hat eine Reihe von 120 Squares, was eine weitere Klasse aus meinem Programm ist.Wert ändert sich nicht korrekt im Array
public class Board{
private Square[] square = new Square[120];
...
Jedes Quadrat hat eine int-Zeile und eine int-Spalte.
public class Square extends JButton{
public int row;
public int column;
...
Das Verfahren selbst die Zeile und Spalte, um herauszufinden, soll, was in
void setSquares() {
int ones;
int tenths;
Square s = new Square();
Insets squareMargin = new Insets(5, 5, 5, 5);
s.setMargin(squareMargin);
for (int i = 0; i < square.length; i++){
ones = getNdigit(i, 1);
tenths = getNdigit(i, 2);
//set row && set column
if ((tenths >= 2 && tenths <= 9) && (ones >= 1 && ones <= 8)){
s.row = tenths - 1;
s.column = ones;
} else{
s.row = 0;
s.column = 0;
}
square[i] = s;
System.out.println(square[0].toString());
}
So am Ende des Verfahrens für jeden Platz ist, erwarte ich, dass Platz [34] eine Zeile hat von 2 und einer Spalte von 4. Jedoch ist das tatsächliche Ergebnis immer das gleiche wie wo die for-Schleife endete (Quadrat [34] hat eine Zeile und eine Spalte von 0). Wenn die for-Schleife geändert wurde
for (int i = 0; i < 55; i++){
dann square [34] hat eine Reihe von 4 und eine Spalte von 4.
referenzieren 1. Sie haben vergessen, eine Frage zu stellen. 2. Welcher Wert ändert sich nicht richtig? Geben Sie Beispiel Eingabe und Ausgabe (sowohl erwartet und tatsächlich erhalten) – UnholySheep
Der Wert der beiden Spalten und int wurde nicht korrekt geändert, meine Frage war warum. Ich habe Beispieldaten im letzten Absatz zur Verfügung gestellt. – Snow