लूप के साथ खेलते समय नीचे कोड बनाया गया। नीचे दिया गया कोड Fibonacci मानों को एक सरणी में संग्रहीत करता है और फिर उन्हें लूप के लिए उपयोग करता है।लूप अपवाद
int [] numbers;
numbers = new int[25];
numbers[0] = 1;
numbers[1] = 1;
System.out.println("Initializing the array values");
for(int i = 2; i < numbers.length; i++)
{
numbers[i] = numbers[i-1] + numbers[i-2];
}
System.out.println("Printing out Fibonacci values");
for(int i = 0; i < numbers.length; i++)
{
System.out.print(numbers[i] + ", ");
}
उपरोक्त कोड ठीक काम करता है। पहली बार मैंने इसे एक साथ फेंक दिया, हालांकि, मैंने मूल्यों को मुद्रित करने के लिए लूप के लिए बढ़ाया (कोड में लूप के लिए दूसरा)। यह ठीक संकलित करता है, लेकिन जब मैं इसे चलाता हूं तो मुझे निम्न मिलता है;
Initializing the array values
Printing out Fibonacci values
1, 1, 2, 3, 8, 34, 377, 17711, Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 34
at ArrayDemo.main(ArrayDemo.java:21)
मुझे क्या गलत नहीं मिला। दूसरे लूप को बदलने से मानों को नहीं बदला जाना चाहिए (आपको पता चलेगा कि फाइबोनैकी मान गलत हैं (यानी गायब मान))। और मुझे नहीं लगता कि लूप के लिए एक सरल वर्धित इंडेक्स को छोड़ देगा। अब, यह वास्तव में एक बड़ा सौदा नहीं है क्योंकि यह किसी प्रोजेक्ट या किसी भी चीज़ के लिए नहीं है, यह सिर्फ मुझे खराब करता है कि मैं यह नहीं समझ सकता कि यह क्यों कर रहा है। कोई सुराग?
लूप के लिए बढ़ाया गया बस इस तरह दिखता था;
for(int i : numbers)
{
System.out.print(numbers[i] + ", ");
}
धन्यवाद। संक्षिप्त और समझने में आसान है। –