みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エラー

java初心者です
ある図形を描くプログラムなのですが★★のところで「Exception in thread "main" java.lang.NullPointerException」というエラーが出てまったく何も描きません。
コンストラクタなどがまだよく理解できていません。
それも含めてどなたか解説/アドバイス/模範回答などしていただけないでしょうか?
public class ExOrbit{
public static void main(String[] args){
BodyOrbit orbit = new BodyOrbit();
BodyOrbit S = new BodyOrbit();
S.init();
/*orbit.init(170, 170, 10, 190);*/
while(true){
  orbit.setD1();
★ orbit.step();★
if(orbit.setD2() >= orbit.max0){
orbit.init(170, 170, 10);
}
}
}
}
public class BodyOrbit{
public int x0, y0, dist0, max0;
private int dist;
public Turtle t;

public BodyOrbit(){
x0=170;
y0=170;
dist0=10;
max0=190;
}
public void init(){
this.x0 = x0;
this.y0 = y0;
this.dist0 = dist0;
this.max0 = max0;
this.dist = dist0;
this.t = new Turtle();
this.t.move(this.x0, this.y0);
this.t.penDown();
}

public void init(int x0, int y0, int dist0){
this.dist = dist0;
this.t.move(this.x0, this.y0);
}
public void setD1(){
this.dist+=10;
}
public void step(){
★this.t.go(this.dist);★
this.t.rotate(120);
}
public int setD2(){
return this.dist;
}
}

投稿日時 - 2009-06-17 15:07:47

QNo.5051539

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

orbit の t が new されていないからじゃないだろうか。

投稿日時 - 2009-06-17 15:37:18

補足

initの中のthis.t=new Turtle(); だけじゃダメということですか?

投稿日時 - 2009-06-19 11:45:40

ANo.1

アドバイス以前にコンパイルできません。

投稿日時 - 2009-06-17 15:18:37

補足

すいません
なぜコンパイルができないかわからないので質問しました…

投稿日時 - 2009-06-19 11:46:38

あなたにオススメの質問