1

ボールを動かすための簡単なプログラムを作成していますが、残念ながら動きません。プログラムを実行した後に x=5 と y=4 の値を入力すると、コンソールに "Ball @ (0.0,0.0)" と表示されます。間違い。

public class Ball
{
    private double x,y; //private variables...

//creating constructors..
public void Ball(double x, double y)
{
    this.x=x;
    this.y=y;
}
public void Ball()
{
    x=5.0;
    y=4.0;
}
//getter and setter for private variables....
public double getX()
{
    return x;
}
public void setX()
{
    this.x=x;
}
public double getY()
{
    return y;
}
public void setY()
{
    this.y=y;
}
public void setXY(double x, double y)
{
    this.x=x;
    this.y=y;
}
public void move(double Xdisp, double Ydisp)
{
    x+=Xdisp;
    y+=Xdisp;
}
public String toString()
{
    return "Ball @ ("+x+","+y+")";
}
public static void main(String[] args)
{
    Ball b=new Ball();
    System.out.println(b);
}

}

4

3 に答える 3

1

コンストラクターがないため、デフォルトのコンストラクターxが呼び出され、 andには何もしませんy

意図したものを実現するには、コンストラクターを提供する必要があります (ほとんどそこにいます)。void修飾子を削除するだけです。

public void Ball()

さて、これはコンストラクタです。他の意図されたコンストラクターについても同じことを行う必要があることに注意してください。

于 2013-10-07T10:03:10.720 に答える