JAVA ile Girilen 4 basamaklı sayının rakamlarını bulma

Java ile kullanıcının girdiği 4 haneli bir sayıyı basamaklarına ayıracağız ve hangi basamakta hangi rakamın olduğunu kullanıcıya göstereceğiz.

Merhaba Arkadaşlar.

Java ile kullanıcının girdiği 4 haneli bir sayıyı basamaklarına ayıracağız ve hangi basamakta hangi rakamın olduğunu kullanıcıya göstereceğiz, Programı yazmaya başlayalım:

Öncelikle bildiğiniz gibi kullanıcıdan veri isteyeceğiz yani Scanner sınıfını aktif etmemiz gerekiyor.


import java.util.Scanner;



Şimdi Ana Class'ımıza kodlarımızı yazmaya başlayalım..


Scanner tara = new Scanner(System.in);

          int birler,onlar,yuzler,binler;



tara adında bir Scanner türü nesne oluşturduk bu nesneyi kullanarak kullanıcıya sayı girişi yaptıracağız dört haneli bir sayı olduğu için hanedeki değerleri tutması içi sayısal tipli dört adet değişken tanımladım.


System.out.println("4 basamaklı bir sayı giriniz: ");

            int sayi=tara.nextInt();



Evet, kullanıcıya sayı girmesini söyledim ve tara nesnesi ile girilen sayıyı sayi tipli değişkene aktardım.


birler=sayi-((sayi/10)*10);



birler basamağındaki sayıyı buldurdum ve birler değişkenine aktardım sayının 1234 olduğunu farzedersek 10 a böldüğümüzde sayı 123,4 olur işte kilit nokta burada biz integer tipte tanımladıgımız için küsüratı atar tam sayıyı alır 123 ü alacak ve 10 ile çarpacak 1230 sayısını elde ettim girilen sayıdan elde edilen sayıyı çıkarırsak 1234 - 1230 = 4 olacak işte birler basamağındaki sayıyı bulmuş oldum. Biraz karışık görünebilir fakat basit bir Matematik hesabından ibaret.


sayi=sayi/10;



sayıyı tekrar 10'a böldüm çünkü mevcut sayım 1234 idi benim şuan birler basamağındaki 4 ile işim yok o halde yeni işlem yapacağım sayım 10'a bölünmüş halinin tam kısmı yani 123'tür.


onlar=sayi-((sayi/10)*10);



farkındaysanız aynı mantık ile onlar basamağını da buldum.


sayi=sayi/10;



10'a bölmeyi unutmayalım.


yuzler=sayi-((sayi/10)*10);

           sayi=sayi/10;



Burada da aynı işlemleri yaptım.


binler=sayi;



yukarıda ise 1234 sayısından geriye elimde bir tek 1 sayısı kalıyor ki onun üzerinde işlem yapmama gerek yok direkt atama yapıyorum.

Şimdi de bulduğum ve atadığım değerleri yazdıracağım;


System.out.println("Binler: "+binler+"\n"+"Yüzler: "+yuzler+"\n"+"Onlar: "+onlar+"\n"+"Birler: "+birler);



Kodlarımızı bir toparlarsak;


Scanner tara = new Scanner(System.in);

        int birler,onlar,yuzler,binler;

        System.out.println("4 basamaklı bir sayı giriniz: ");

        int sayi=tara.nextInt();

        birler=sayi-((sayi/10)*10);

        sayi=sayi/10;

        onlar=sayi-((sayi/10)*10);

        sayi=sayi/10;

        yuzler=sayi-((sayi/10)*10);

        sayi=sayi/10;

        binler=sayi;

        System.out.println("Binler: "+binler+"\n"+"Yüzler: "+yuzler+"\n"+"Onlar: "+onlar+"\n"+"Birler: "+birler);



Programı test ettim ve rasgele 6987 sayısını girdim, program çalışıyor:

  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git