Barış

WFN Üye
Konular
634
Mesajlar
634
Çözüm
0
Ticaret Puanı
0
Üyelik
25 Gün
Konum
Kastamonu
Web Sitesi
Var
Alanı
Google ADS
1/1
Konu sahibi
Java’da sayısal bir String değerini int türüne çevirmek için Integer.parseInt(metin) kullanın. Metin geçerli bir tam sayı içeriyorsa yöntem sayısal değeri döndürür; içerik uygun değilse veya sayı int aralığını aşıyorsa NumberFormatException oluşur.

String değerini sayıya dönüştürme​


Aşağıdaki örneği Main.java adlı dosyaya kaydedin. JDK kurulu bir ortamda javac Main.java ve ardından java Main komutlarını çalıştırın:

Java:
public class Main {
    public static void main(String[] args) {
        String metin = "42";
        int sayi = Integer.parseInt(metin);

        System.out.println(sayi + 1);
    }
}

Program 43 yazdırır: "42" metni önce sayıya çevrilir, sonra üzerine 1 eklenir. Integer için ayrıca import satırı gerekmez. Yöntem varsayılan olarak onluk sayı sistemini kullanır ve baştaki + veya - işaretini kabul eder.

Geçersiz girdileri ele alma​


"12a", boş metin ve "3.5" gibi tam sayı olmayan değerler dönüştürülemez. Baştaki veya sondaki boşluklar da doğrudan kabul edilmez. Ayrıca değer, -2147483648 ile 2147483647 arasında olmalıdır. Daha büyük bir tam sayı bekliyorsanız uygun aralığa sahip long türünü ve Long.parseLong() yöntemini değerlendirin.

Kullanıcıdan gelen bir değer için hatayı yakalayarak yeniden giriş isteyebilirsiniz. Aşağıdaki örnek, önce null kontrolü yapar; ardından trim() ile baştaki ve sondaki sıradan boşlukları temizler:

Java:
String girdi = " 42 "; // Örnek girdi

if (girdi == null) {
    System.out.println("Bir değer girin.");
} else {
    try {
        int sayi = Integer.parseInt(girdi.trim());
        System.out.println("Girilen sayı: " + sayi);
    } catch (NumberFormatException e) {
        System.out.println("Geçerli ve int aralığında bir tam sayı girin.");
    }
}

Bu kodu bir metodun içine yerleştirdiğinizde örnek girdi için Girilen sayı: 42 yazdırılır. Girdiyi "12a" yaparsanız hata mesajı görünür; kullanıcıdan değeri düzeltmesini isteyebilirsiniz. Boşlukları temizlemek içteki boşlukları, ondalık ayırıcıları veya sayı aralığı sorununu düzeltmez. Başarılı dönüşüm de sayının uygulamanızın izin verdiği aralıkta olduğunu tek başına göstermez; gerekiyorsa bu koşulu ayrıca kontrol edin.

Integer nesnesi veya farklı sayı tabanı gerektiğinde​


İlkel int yerine bir Integer nesnesi gerekiyorsa Integer.valueOf("42") kullanabilirsiniz. Bu yöntem de geçersiz veya aralık dışı metin için NumberFormatException oluşturur.

Metin onluk değilse tabanı ikinci argüman olarak belirtin. Örneğin Integer.parseInt("FF", 16), on altılık FF değerini onluk gösterimde 255 olarak döndürür. Bu kullanımda metne 0x öneki eklemeyin.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Foruma git ?

Bu konuyu görüntüleyen kullanıcılar

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic