2017-03-06 46 views
0

我想創建BlueJ提供的方法調用,問題與三角函數的方法使用BlueJ的

toRadians(); 

這種方法的關鍵是採取低於360任意數量並將其轉換爲弧度。這裏是方法代碼。

public void toRadians(double tempDegrees) 
{ 
    Math.toRadians(tempDegrees) 
} 

的代碼用於調用該方法的線:

toRadians(beamAngleHalf); 

當調用此方法時是不改變beamAngleHalf成弧度。我知道這是非常基本的。這怎麼解決?

+0

的方法不能改變的值(參見http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value)相反,它返回一個新的價值。所以你可能想'beamAngleHalf = toRadians(beamAngleHalf);' – dnault

回答

1

這裏有很多東西可以解釋,包括:Java中的對象和基元之間的區別,以及通過引用和傳值之間的區別,但簡短的回答是Math.toRadians(tempDegrees)不會更改傳入的值,而是返回以弧度表示的值。

您反而需要返回Math.toRadians()在您的toRadians()方法中返回的內容。

public double toRadians(double tempDegrees) 
{ 
    return Math.toRadians(tempDegrees); 
}