जावा में रिकर्सन कैसे लागू करें?
जावा में रिकर्सन को सही तरीके से कैसे लागू करें? StackOverflowError की समस्या
सभी को नमस्ते! मैं जावा में रिकर्सन को समझने की कोशिश कर रहा हूँ, लेकिन लगातार StackOverflowError एरर आ रही है। कृपया बताएं कि इससे बचने के लिए मेथड के रिकर्सिव कॉल को सही तरीके से कैसे व्यवस्थित करें?
मैंने किसी संख्या का फैक्टोरियल निकालने के लिए एक सरल फंक्शन लिखा, लेकिन 10000 के मान पर प्रोग्राम क्रैश हो जाता है। यहाँ मेरा कोड है:
public class RecursionTest {\n public static int factorial(int n) {\n if (n == 0) {\n return 1;\n }\n return n * factorial(n - 1);\n }\n\n public static void main(String[] args) {\n System.out.println(factorial(10000)); // StackOverflowError\n }\n}मैंने पहले ही प्रयास किया:
- JVM पैरामीटर्स के माध्यम से स्टैक का आकार बढ़ाना (
-Xss2m), लेकिन यह समस्या को केवल टालता है, हल नहीं करता। intकोlongऔरBigIntegerसे बदलना — परिणाम वही है, एरर