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