Bugün Java için kullandığım kaynakların bir tanesinde karşımda çıkan bir problemin çözümünü buradan paylaşmak istiyorum. Soru tam olarak şu şekilde :
Kullanıcı klavyeden bir sayı girecek , bu girilen sayıdaki en büyük rakamı , ve bu en büyük rakamın girilen sayıda kaç defa geçtiğini bulan programı yazacağız. Kitap bu tip problemleri sınıflandırmış. Sorulara 1,2 ve 3 yıldız şeklinde numaralar vermiş. 1 yıldızlık sorular basit, 2 yıldızlık orta seviye , 3 yıldızlık sorular ise daha çok düşünmeye sevk edici sorulardan oluşuyor. Görüldüğü üzere yazar bu soruya 2 yıldız vermiş ve çözülmeye değer bir soru olarak öngörmüş.
Bu sorunun mutlaka birden fazla çözümü olabilir, ben çözümümü bu şekilde oluşturdum. MaxBul isimli bir sınıf oluşturdum. Bu sınıfın maxBul ve kactaneVar isimli iki static üyesi var. maxBul ( kücük harfle yazılan) isimli metod kullanıcının girdiği sayıda ki en büyük rakamı bulur. kactaneVar isimli metod ise bulunan rakamın belirtilen rakamın o sayıda kaç tane olup olmadığını kullanıcıya mesaj eder.
Kullanıcının aşağıdaki sayıyı girdiğini varsayalım :
Lütfen bir sayı giriniz : 1245801989
Kullanıcı yukarıdaki gibi bir giriş yaptığında porgramın çıktısı şu şekilde olacaktır.