"Enter"a basıp içeriğe geçin

Girilen Sayı İçindeki En Büyük ve En Küçük Rakamı Bulma (Java)

Bu yazıda kullanıcıdan alınan sayının rakamları arasındaki en büyük ve en küçük rakamlarını for döngüsü ile tespit edeceğiz.

İlk adım olarak kullanıcıdan veri alabilmemizi sağlayan Scanner kütüphanesini projemize ekliyoruz.

import java.util.Scanner;

Rakamlar 0 ile 10 arasında olduğu için max ve min değişkenlerinin değerlerini 0 ve 10 olarak ayarlıyoruz.

int max = 0;
int min = 10;

Kullanıcıdan sayıları String tipinde alıyoruz. Çünkü rakamları ayırmak için kullanacağımız split metodu sadece String ifadeler üzerinde çalışıyor.

Scanner veriAl = new Scanner(System.in);
String sayi = veriAl.next();

Kullanıcıdan sayıyı String tipinde aldıktan sonra split metodu ile tüm ‘harfleri’ tek tek ayırıp dizinin içine atalım.

String[] rakamlar = sayi.split("");

For döngüsünün boyutunu rakamlar dizisinin büyüklüğü kadar yapıyoruz. If ile bir koşul yazıyoruz. Koşulumuz rakamlar dizisinin ilk elemanının max değişkeninden yani 0 dan büyük mü olduğunu denetliyoruz. Örnek sayımız 2 olsun. 2 sayısı 0 dan büyük olduğuna göre koşul gerçekleşiyor. İlk koşul sağlandığı için max değişkeninin değeri 2 oluyor. Rakamlar dizisinin ikinci elemanı ise 1 olsun. 1 ile max değişkeni (yani 2 sayısı) karşılaştırıldığında koşul sağlanmıyor. Bu yüzden if koşulu sağlanamıyor ve else koşuluna geliyor. 1 sayısı min (yani 10) sayısından küçük olduğu için artık min değişkeninin değeri 1 oluyor. Böyle böyle diğer rakamları da hesaplıyor.

for (int i = 0; i < rakamlar.length; i++) {             
            if (Integer.parseInt(rakamlar[i]) > max) {
                max = Integer.parseInt(rakamlar[i]);
            } else if (Integer.parseInt(rakamlar[i]) < min) {
                min = Integer.parseInt(rakamlar[i]);
            }
        }

Son olarak sonuçları ekrana yazdırıyoruz. Kodun tamamı aşağıdadır.

// Scanner kütüphanesi.
import java.util.Scanner;

public class GirilenSayiIcindekiEnBuyukveEnKucukRakamiBulma {
    public static void main(String[] args) {
        // Değişkenler tanımlanıyor.
        int max = 0;
        int min = 10;
        
        System.out.print("Sayı giriniz: ");
        
        // Scanner nesnesi oluşturuluyor.
        Scanner veriAl = new Scanner(System.in);
        
        // Kullanıcıdan sayıyı String tipinde alacağız.
        String sayi = veriAl.next();
        
        // Alınan değerin harflerini tek tek diziye atıyoruz.
        String[] rakamlar = sayi.split("");
        
        for (int i = 0; i < rakamlar.length; i++) {             
            if (Integer.parseInt(rakamlar[i]) > max) {
                max = Integer.parseInt(rakamlar[i]);
            } else if (Integer.parseInt(rakamlar[i]) < min) {
                min = Integer.parseInt(rakamlar[i]);
            }
        }
        
        System.out.println("En büyük rakam: " + max);
        System.out.println("En küçük rakam: " + min);
    }
}

Tek Yorum

  1. Osman Anıl ÖZCAN
    Osman Anıl ÖZCAN 28/09/2023

    Merhaba Abdullah,

    Muhtemelen kodu tarayıcı tabanlı bir derleyici üzerinden çalıştırdığınız için çalışmamaktadır. Hata kodunu atarsanız yardımcı olmak isterim.

    İyi günler dilerim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.