なぜコードは
double slope = (double)changeY/changeZ
私が持っているプログラムで、changeX = 20 と changeY = 10 (両方の整数) の場合、勾配を 0.0 に設定しますか?
間違った変数を使用しているようです。これを試して:
int changeX = 20;
int changeY = 10;
double slope = (double)changeY/changeX;
キャスト演算子 () は、/ よりも優先度が高くなります。この式は次のように評価されます。
changeY
しdouble
ます。changeX
しdouble
ます。一方のオペランドがdouble
である場合、もう一方のオペランドも同様にバランスを取りdouble
ます (これは正式には「通常の算術変換」と呼ばれます)。