问题与三角函数的方法使用BlueJ的
问题描述:
我想创建BlueJ提供的方法调用,问题与三角函数的方法使用BlueJ的
toRadians();
这种方法的关键是采取低于360任意数量并将其转换为弧度。这里是方法代码。
public void toRadians(double tempDegrees)
{
Math.toRadians(tempDegrees)
}
的代码用于调用该方法的线:
toRadians(beamAngleHalf);
当调用此方法时是不改变beamAngleHalf成弧度。我知道这是非常基本的。这怎么解决?
答
这里有很多东西可以解释,包括:Java中的对象和基元之间的区别,以及通过引用和传值之间的区别,但简短的回答是Math.toRadians(tempDegrees)
不会更改传入的值,而是返回以弧度表示的值。
您反而需要返回Math.toRadians()
在您的toRadians()
方法中返回的内容。
public double toRadians(double tempDegrees)
{
return Math.toRadians(tempDegrees);
}
的方法不能改变的值(参见http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value)相反,它返回一个新的价值。所以你可能想'beamAngleHalf = toRadians(beamAngleHalf);' – dnault