मैं उलझन में हूं कि कक्षा के लिए मेरे कोड में क्या काम नहीं कर रहा है। मैं प्रत्येक लूप के लिए सरणी मानों को बदलने का प्रयास कर रहा हूं, और यह प्रत्येक लूप के लिए सही ढंग से प्रिंट करता है लेकिन बाद में सही मानों को संग्रहीत नहीं करता है। मुझे उम्मीद है कि दोनों परिणाम {2.0, 4.0, 6.0, 8.0, 10.0}
होंगे, लेकिन दूसरा प्रिंट {10.0, 2.0, 3.0, 4.0, 5.0}
दिखाता है।
double speed [] = {1,2,3,4,5};
for(double each : speed){
int i = 0;
each *= 2;
speed[i] = each;
i++;
}
for(double each : speed){
System.out.println("\n" + each);
}
3 जवाब
आप लूप के अंदर i
घोषित करते हैं, इसलिए i++
का कोई प्रभाव नहीं पड़ता है, इसे प्रत्येक पुनरावृत्ति पर 0 से पुन: प्रारंभ किया जाता है।
जैसा कि एंड्रिया ने अपने उत्तर में कहा था, समस्या यह है कि आप प्रत्येक पुनरावृत्ति पर i
पुनः घोषित कर रहे हैं। तो आप वास्तव में क्या चाहते हैं
double speed [] = {1,2,3,4,5};
int i = 0;
for(double each : speed){
each *= 2;
speed[i] = each;
i++;
}
for(double each : speed){
System.out.println("\n" + each);
}
लेकिन, जब तक कि यह एक खिलौना उदाहरण नहीं है, यह IMHO, सही निर्माण नहीं है। चूँकि आपको उस सूचकांक तक पहुँचने की आवश्यकता है जिस पर आप पुनरावृति कर रहे हैं, और speed
एक साधारण सरणी है, एक सामान्य for
शायद वही है जिसकी आपको वास्तव में आवश्यकता है। इसलिए
double speed [] = {1,2,3,4,5};
for(int i = 0; i < speed.length; i++){
speed[i] *= 2;
}
for(double each : speed){
System.out.println("\n" + each);
}
हाँ, आउटपुट सही है। लेकिन अगर आप {2.0, 4.0, 6.0, 8.0, 10.0}
प्रिंट करना चाहते हैं, तो कोड होना चाहिए
double speed [] = {1,2,3,4,5};
int i = 0;
for(double each : speed){
each *= 2;
speed[i] = each;
i++;
}
for(double each : speed){
System.out.println("\n" + each);
}
यानी वैरिएबल i को प्रत्येक के लिए लूप के बाहर इनिशियलाइज़ किया जाना चाहिए।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।
i
को 0 पर सेट करना निश्चित रूप से मदद नहीं करता है