2012-07-15 13 views
5

में एक सरणी के मानों को असाइन करना मैं अभी भी जावा में शुरू कर रहा हूं - और इस पर कोई मार्गदर्शन बहुत अच्छा होगा। मैं मूल रूप से एक सरणी बनाने की उम्मीद कर रहा हूं, फिर लूप के लिए उस सरणी को मान असाइन करें। कोड मैं इस समय है:लूप जावा

int i; 
int[] testarray = new int[50]; 

for (i = 0; i <=50; i++) { 
testarray[i]=i; 
} 

सभी मैं चाहता हूँ कर प्रत्येक प्रविष्टि यात्रा की संख्या (इस पद्धति का उपयोग) मैं इसके बहुत आसान पता के साथ एक सरणी बनाने के है, लेकिन मैं के रूप में अगर लग रहा है मैं मूल बातें सीखने के दौरान कुछ महत्वपूर्ण याद किया है! धन्यवाद!

+0

आपके वर्तमान कोड में क्या गलत है? मुझे यह ठीक लग रहा है। – Antimony

उत्तर

10

सब कुछ बंद हालत को छोड़कर ठीक है:

for (i = 0; i < 50; i++) { 

के बाद से अपने सरणी आकार 50 का है, और सूचकांक 0 से शुरू होते हैं, अंतिम सूचकांक 49 है।

आप i के दायरे कम करना चाहिए, लंबाई हर जगह हार्ड-कोड से बचने के (खुद के सिद्धांत को दोहराने नहीं है), और CamelCase नामकरण सम्मेलनों का सम्मान करते हैं: हार्ड-कोड के

int[] testArray = new int[50]; 

for (int i = 0; i < testArray.length; i++) { 
    testArray[i]=i; 
} 
+0

बिल्कुल सही - बहुत बहुत धन्यवाद। विश्वास नहीं कर सका मैं इसे याद करूँगा! –

+0

त्रुटि संदेशों को पढ़ें और उन्हें समझने का प्रयास करें कि वे केवल एक त्रुटि ध्वज के रूप में उनका इलाज करने के बजाय। त्रुटि संदेश शायद कहता है: ArrayOutOfBoudsException, और शायद आपको उस इंडेक्स को बताया जो आपने एक्सेस करने का प्रयास किया था, लेकिन सीमा से बाहर था। –

6

आपकी सरणी में 50 तत्व हैं, और आपका पाश 51 तत्वों (0 से 50) से अधिक हो जाता है।

int[] testarray = new int[50]; 

for (int i = 0; i < 50; i++) { 
    testarray[i] = i; 
} 

या बेहतर:

बस के लिए कोड बदलने

int[] testarray = new int[50]; 

for (int i = 0; i < testarray.length; i++) { 
    testarray[i] = i; 
} 
+0

इसके अलावा, आप लूप के बाहर की बजाय लूप के लिए घोषणा की जा सकते हैं। –

+0

@ केविन, आप सही हैं :) – lhlmgr

0

सरणी उपयोग की लंबाई के बजाय 50.

for (i = 0; i <testarray.length; i++) 
संबंधित मुद्दे