سلام للجميع
---------
كنت بجرب اكتب كود ال factorial باستعمال دالة ال recursion
و لكن كنت أجرب كتابة جملة ال if ..else فى سطر واحد
و فى مشااكل بسببها
----------------------------
الخطا الى بيظهر StackOverFlow :ohmy:
الكود
-------
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RecursiveTest {
private static BufferedReader bufferedReader;
private static String str;
private static char ch;
public static void main(String[] args) {
System.out.println("Enter number:");
bufferedReader = new BufferedReader(new InputStreamReader(System.in));
try {
do {
str = bufferedReader.readLine();
int result = factorial(Integer.parseInt(str));
System.out.println(result);
System.out.println(" Do you want to test anthor? 'YES' or 'NO' ");
ch = bufferedReader.readLine().charAt(0);
} while (ch == 'y');
} catch (Exception e) {
e.printStackTrace();
}
}
private static int factorial(int fact) {
int result;
int f = 0;
result = (fact == 0 || fact == 1) ? 1 : f;
result = fact * factorial(fact - 1);
return result;
}
}شكراً
