مخطط الأعمدة

هذه الشفرة تكرارية، لكنها مقبولة فقط طالما أن عدد المجالات صغير. لكن تخيل أننا نريد متابعة عدد تكرار كل علامة تظهر، كل القيم الممكنة من 0 إلى 100. أتريد كتابة هذا؟
كود:
int count0 = inRange(scores, 0, 1);
int count1 = inRange(scores, 1, 2);
int count2 = inRange(scores, 2, 3);
...
int count3 = inRange(scores, 99, 100);
لا أعتقد ذلك. ما تريده حقاً هو طريقة لتخزين 100 عدد صحيح، يفضل أن نستطيع استخدام دليل للوصول إلى كل واحد منها. مساعدة: مصفوفة.
أن مضمون عملية العد هو نفسه سواء استخدمنا عداداً مفرداً أو مصفوفة من العدادات. في هذه الحالة، سنهيئ المصفوفة خارج الحلقة؛ ثم، داخل الحلقة، نستدعي inRange ونخزن النتيجة:
كود:
int[] counts = new int[100];
for (int i = 0; i < counts.length; i++) {
   counts[i] = inRange(scores, i, i+1);
}
الشيء الجديد الوحيد هنا هو أننا أعطينا متغير الحلقة مهمتين: دليل للمصفوفة، ومعامل للعملية inRange.