问题与三角函数的方法使用BlueJ的

问题描述:

我想创建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

这里有很多东西可以解释,包括:Java中的对象和基元之间的区别,以及通过引用和传值之间的区别,但简短的回答是Math.toRadians(tempDegrees)不会更改传入的值,而是返回以弧度表示的值。

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

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