3! = 3 * 2 * 1 = 6Java需要的輸出
無需使用循環
謝謝!
我下面的功能:
public static int factorial(int n)
{
if ((n == 1) || (n == 0))
return 1;
else
return(n * factorial(n-1));
}
3! = 3 * 2 * 1 = 6Java需要的輸出
無需使用循環
謝謝!
我下面的功能:
public static int factorial(int n)
{
if ((n == 1) || (n == 0))
return 1;
else
return(n * factorial(n-1));
}
可以打印在因法通過這樣的參數值:
創建一個函數:
public static int factorial(int n) {
System.out.print(n); // here
if (n > 1) System.out.print("*"); // and here
if ((n == 1) || (n == 0))
return 1;
else {
return (n * factorial(n - 1));
}
}
產地:
3!=3*2*1=6
非常感謝你! :) –
雖然這可能解決OP的直接問題,但在我看來,不好的做法是將用戶輸入代碼放入構造函數中,因爲代碼不是reusale,只能調用一次。爲了明白爲什麼,假設在構造函數中發生異常,那麼JVM將完成初始化對象,但是現在不會正確創建階乘。我們不能再次調用構造函數。 –
@OP你應該在這裏聽蒂姆。蒂姆,感謝您的評論。 – GurV
您可以使用全局變量(StringBuffer),並從factorial方法向其添加數字。打印時,使用main方法中的此變量。
歡迎來到Stack Overflow!看起來你正在尋求作業幫助。雖然我們本身沒有任何問題,但請觀察這些[應做和不應該](http://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-questions/338845#338845),並相應地編輯您的問題。 –
您的遞歸階乘方法看起來正確。但是,在一個奇怪的事件轉向中,您決定從'FF'構造函數獲取用戶輸入。這是不尋常的,不應該這樣做。 –
不知道你在問什麼 - 你目前沒有循環,你有遞歸。 – luk2302