الحلقات والعد

يعد البرنامج التالي مرات ظهور الحرف 'a' في السلسلة:
كود:
String fruit = "banana";
int length = fruit.length();
int count = 0;
int index = 0;
while (index < length) {
  if (fruit.charAt(index) == ’a’) {
    count = count + 1;
  }
  index = index + 1;
}
System.out.println (count);
هذا البرنامج يشرح مفهوماً شائعاً، يدعى العداد (counter). تتم تهيئة المتغير count بالقيمة صفر، ثم نزيده بمقدار واحد في كل مرة نجد فيها 'a' (في اللغة الإنكليزية يعبر الفعل increment لوحده عن الزيادة بمقدار واحد؛ وهو عكس الفعل decrement، ولا علاقة لهما بالاسم excrement). عندما نخرج من الحلقة، يحتوي count على النتيجة: المجموع النهائي لعدد حروف 'a' الموجودة.
تمرين 8.3 قم بتغليف هذه الشفرة في عملية باسم countLetters، وقم بتعميمها بحيث تقبل السلسلة والمحرف كمتحولين.
ثم أعد كتابة العملية بحيث تستخدم indexOf لتحديد مواقع حروف 'a'، بدلاً من التحقق من المحارف واحداً تلو الآخر.