私はJava(およびプログラミング全般)に非常に慣れていないため、画面の中央に垂直線を描くだけのプログラムを作成しようとしています。これを行うためx
に、画面の中心の x 座標を与える変数を作成しました。この変数を他のプライベート メソッド内で使用できるようにしたかったのです。ただし、コードを実行すると、x
0 に設定されているかのように行が表示されません。
import acm.graphics.*;
import acm.program.*;
import java.awt.*;
public class Target extends GraphicsProgram {
int x = getWidth()/2;
public void run() {
GLine line = new GLine (x,0,x,300);
add (line);
}
}
以下のように変数をメソッドx
内に配置run()
すると、線は正しく描画されますが、変数がクラス変数ではなくインスタンスになることを理解しているため、後で他のプライベートメソッドで使用することはできません変数であるためrun()
、他の方法ではアクセスできませんか?
public class Target extends GraphicsProgram {
public void run() {
int x = getWidth()/2;
GLine line = new GLine (x,0,x,300);
add (line);
}
}
最初のコードが機能しないのに、2 番目のコードが機能する理由について誰かが教えてくれますか? 事前にどうもありがとうございました!