0

setSpeedXすべてのコード パスが値を返すわけではない」というエラーに対して下線が引かれています。どうすれば解決できますか?コードは以下のとおりです。

class Ball
{
    public int speedX { get; private set; }
    public int speedY { get; private set; }
    public int positionX { get; private set; }
    public int positionY { get; private set; }

    public Ball(int speedX, int speedY, int positionX, int positionY)
    {
        this.speedX = speedX;
        this.speedY = speedY;
        this.positionX = positionX;
        this.positionY = positionY;
    }

    public int setSpeedX(int newSpeedX)
    {
        speedX = newSpeedX;
    }    

    public int setSpeedY(int newSpeedY)
    {
        speedY = newSpeedY;
    }

    public int setPositionX(int newPositionX)
    {
        positionX = newPositionX;
    }

    public int setPositionY(int newPositionY)
    {
        positionY = newPositionY;
    }
}

ありがとうございました。

4

4 に答える 4

3

次のような値を返す必要があるメソッドに追加returnします。

public int setPositionY(int newPositionY)
{
    positionY = newPositionY;
    return positionY;
}

またはそれらを変更して返すvoid

public void setPositionY(int newPositionY)
{
    positionY = newPositionY;
}
于 2013-05-22T06:39:10.620 に答える
1

ステートメントを入れたことがないreturnため、メソッドを宣言する必要がありますが、値は返されません。

これを修正するには、次の 2 つの方法があります。

メソッドを作るvoid

public void setSpeedX(int newSpeedX)
{
    speedX = newSpeedX;
}

または値を返します:

public int setSpeedX(int newSpeedX)
{
    speedX = newSpeedX;
    return speedX;
}

ちなみに、これは だけでなく、すべてのメソッドに当てはまりsetSpeedXます。

于 2013-05-22T06:38:48.797 に答える
0

メソッド ( setSpeedXsetSpeedYsetPositionXsetPositionY) に値を設定していますが、何も返されません。ただし、メソッドのシグネチャには戻り値の型がありintます。

intしたがって...次のように、戻り値の型をに置き換えますvoid

public void setSpeedX(int newSpeedX)
{
    speedX = newSpeedX;
}    

public void setSpeedY(int newSpeedY)
{
    speedY = newSpeedY;
}

public void setPositionX(int newPositionX)
{
    positionX = newPositionX;
}

public void setPositionY(int newPositionY)
{
    positionY = newPositionY;
}

intまたは、次のように type の値を返します。

public int setSpeedX(int newSpeedX)
{
    speedX = newSpeedX;
    return speedX;
}    

public int setSpeedY(int newSpeedY)
{
    speedY = newSpeedY;
    return speedY;
}

public int setPositionX(int newPositionX)
{
    positionX = newPositionX;
    return positionX;
}

public int setPositionY(int newPositionY)
{
    positionY = newPositionY;
    return positionY;
}
于 2013-05-22T06:40:12.017 に答える
0

値を返すか

public int setSpeedX(int newSpeedX)
{
    speedX = newSpeedX;
    return(speedX);
}

または、メソッドを void に変更します

public void setSpeedX(int newSpeedX)
{
    speedX = newSpeedX;
}

値を返すことにあまり価値がないようです

于 2013-05-22T06:45:06.263 に答える