0
これは私の2つのクラスです。 Eclipseは、whileループの中でmyGrid [0]に下線を引いて、メッセージ "を取得します。式の型は配列型でなければなりませんが、グリッドは"に解決されます。助けをお待ちしています。Java:プライベートフィールドによるオブジェクトアクセス
public class Grid {
private int[][] myGrid;
private int x, y;
public Grid(int x, int y) {
myGrid = new int[y][x];
}
}
import java.util.Scanner;
public class Play {
private Scanner input = new Scanner(System.in);
private void setPosition (Grid myGrid) {
boolean counter = false;
while (counter == false) {
System.out.println("Give a position, from 0 to " + myGrid[0].length-1 + " : >");
x = Integer.parseInt(input.nextLine());
}
}
}
をあなたは、そのmyGridフィールドでグリッドクラスを混乱しています。彼らは完全に異なっています。グリッドパラメータにフィールドと同じ名前を付けるだけで、同じことではありません。 myGridは純粋で単純なグリッド変数であり、配列ではありません。 –
SOの質問を掲示する代わりに問題を診断するには、混乱を避けるために変数名を複数回使用しないでください。 – 4castle
2つの変数が同じ名前を持つからといって、同じ変数にしないからです。同じ名前の2つの異なる変数を定義しました。 –