1
我正在开发一个程序,递归地生成一个音阶的音调频率。每个频率是比前一个更高的两个十二个根。该计划必须使用递归(呃,教育)。当我使用这种方法时,我只是得到了一遍又一遍重复的初始音调。这是为什么?Inifinte递归循环我无法解决?
public static void scale(double x, double z){
double y;
if(z == x){
y = z * Math.pow(2, (1/12));
System.out.println(y);
scale (y, y);
}
else if(z >= (2 * x) - 1 || z <= (2 * x) + 1){
y = z;
System.out.println();
}
else{
y = z * Math.pow(2, (1/12));
scale (y, y);
}
System.out.println(y);
}
我总是忘记整数除法.....非常感谢。在你还在学习的时候总是会帮助你有第二双眼睛。 – 2014-12-05 20:42:45
完成:Java不是唯一的语言;为了安全起见,如果您使用浮点数作为一般经验法则,请使用浮点文字。 – Qix 2014-12-05 20:42:46