Kaç basamaklı olduğundan bağımsız olarak tüm basamakları teker teker toplayan bir java programı yazarak başlayalım. Java'da bir sayıyı basamaklarına ayırmak örneğimde zaten çok basamaklı sayıları nasıl basamaklarına ayırabileceğimizi paylaşmıştım. Şimdi basamaklarına ayırmakla yetinmeyelim, bir de basamakları toplamını hesaplayalım.
Basamak toplamı derken ne anlamalıyız?
32 -> 2 basamaklı -> basamak toplamları = 3+2=5
325 -> 3 basamaklı -> basamak toplamları = 3+2+5=10
3254 -> 4 basamaklı -> basamak toplamları = 3+2+5+4=14
32549 -> 5 basamaklı -> basamak toplamları = 3+2+5+4+9=23
Şimdi kaç basamaklı olursa olsun, bir tamsayıyı basamaklarına ayıran ve basamak toplamlarını hesaplayan programa geçelim.
Kodlar:
Scanner girdi = new Scanner(System.in);
System.out.println("Lütfen bir tammsayı yazın");
int sayi = girdi.nextInt();
int toplam = 0;
while (sayi != 0) {
toplam += sayi % 10; //sağdaki basamağı toplama ekle
sayi=sayi/10; //sağdaki basamağı sil
}
System.out.println("Yazdığınız sayının basamakları toplamı="+toplam);
Çıktı:
Lütfen bir tammsayı yazın
54654321
Yazdığınız sayının basamakları toplamı=30