Girdiden Sayıları Ayrıştırma
Metni sayılara dönüştürün.
Girdiden Sayıları Ayrıştırma, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Satırlar Her Zaman Dizelerdir
Kullanıcı 42 yazsa bile readLine() size her zaman bir String verir. Aritmetik işlem yapabilmek için bu metni bir sayıya ayrıştırmanız gerekir.
Java, tam olarak bu amaçla Integer.parseInt ve Double.parseDouble gibi yardımcı yöntemler sağlar.
Integer.parseInt
Integer.parseInt(String), "42" gibi bir metni int türündeki 42 değerine dönüştürür.
Ayrıştırdıktan sonra bu değerle herhangi bir sayıda olduğu gibi toplama, çarpma veya karşılaştırma yapabilirsiniz.
String text = "42";
int n = Integer.parseInt(text);
System.out.println(n + 1);Çalıştırılabilir Bir Ayrıştırma Örneği
Aşağıda sabit kodlanmış bir dizeyi ayrıştırıp iki katına çıkaran eksiksiz ve çalıştırılabilir bir program verilmiştir.
System.in'den okumadığı için program hemen çalışır ve sonucu yazdırır.
public class Main {
public static void main(String[] args) {
String text = "21";
int n = Integer.parseInt(text);
System.out.println("Doubled: " + (n * 2));
}
}Önce Okuma, Sonra Ayrıştırma
Gerçek kullanılan kalıp şudur: bir satır okuyun, ardından ayrıştırın. Bu program konsoldan bir sayı okur ve karesini yazdırır.
System.in'de beklediği için burada otomatik olarak çalıştırılamaz; ancak günlük kullanımda uygulanan kalıp budur.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
System.out.println("Square: " + (n * n));
}
}Ayrıştırmadan Önce Kırpın
Fazladan boşluklar ayrıştırmayı bozar. Integer.parseInt(" 42 ") bir hata fırlatır; ancak Integer.parseInt(" 42 ".trim()) çalışır.
Ayrıştırmadan önce satır üzerinde trim() çağırmayı alışkanlık hâline getirmeniz iyi olur.
String raw = " 7 ";
int n = Integer.parseInt(raw.trim());
System.out.println(n);Ondalık Sayıları Ayrıştırma
Ondalık sayılar için Double.parseDouble kullanın. Bu yöntem, "3.14" gibi bir metni double değerine dönüştürür.
Ayrıca int aralığını aşan çok büyük tam sayılar için Long.parseLong da vardır.
public class Main {
public static void main(String[] args) {
double pi = Double.parseDouble("3.14");
System.out.println(pi * 2);
}
}Tek Satırda Birden Çok Sayı
Çoğu zaman bir satırda "10 20 30" gibi boşluklarla ayrılmış birkaç sayı bulunur. Satırı split(" ") kullanarak bir String öge dizisine ayırın.
Ardından her ögeyi ayrı ayrı ayrıştırın.
String[] parts = "10 20 30".split(" ");
int a = Integer.parseInt(parts[0]);
int b = Integer.parseInt(parts[1]);
System.out.println(a + b);Ayrılmış Sayıları Toplama
Bu çalıştırılabilir program bir satırı ayırır ve döngü içinde tüm sayıları toplar.
Dize, programın girdi olmadan çalışabilmesi için sabit kodlanmıştır; gerçek konsol kullanımı için br.readLine() ile değiştirin.
public class Main {
public static void main(String[] args) {
String line = "5 8 2 10";
String[] parts = line.split(" ");
int sum = 0;
for (String p : parts) {
sum += Integer.parseInt(p);
}
System.out.println("Sum: " + sum);
}
}Geçersiz Girdi Hata Fırlatır
Metin "hello" veya boş bir dize gibi geçerli bir sayı değilse parseInt, NumberFormatException fırlatır.
Programınızın hatalı girdi nedeniyle çökmesini önlemek için bunu try/catch ile güvenli biçimde ele alabilirsiniz.
try {
int n = Integer.parseInt("hello");
} catch (NumberFormatException e) {
System.out.println("Not a number!");
}Güvenli Ayrıştırma Uygulaması
Aşağıda, çökmek yerine hatalı girdiyi düzgün biçimde ele alan çalıştırılabilir bir program verilmiştir.
Metin bir sayıya dönüştürülemediğinde catch bloğu anlaşılır bir ileti yazdırır.
public class Main {
public static void main(String[] args) {
String input = "12x";
try {
int n = Integer.parseInt(input);
System.out.println(n);
} catch (NumberFormatException e) {
System.out.println("Invalid number: " + input);
}
}
}Ayrıştırma Kontrol Listesi
Girdiyi sayılara dönüştürürken:
- Tam sayılar için
Integer.parseInt, ondalık sayılar içinDouble.parseDoublekullanın. - Önce fazladan boşlukları
trim()ile temizleyin. - Bir satırdaki birden çok sayı için
split(" ")kullanın. - Güvenlik için işlemi
try/catchiçine alın.
Hızlı Kontrol
Ayrıştırma başarısız olduğunda ne olduğunu düşünün.
Özet
Girdi satırlarının, Integer.parseInt veya Double.parseDouble ile ayrıştırılan dizeler olduğunu öğrendiniz. trim() ve split(" ") kullandınız ve güvenlik amacıyla NumberFormatException yakaladınız.
Sıradaki konu: akışlarınızı doğru şekilde kapatmak.
Sıkça Sorulan Sorular
“Girdiden Sayıları Ayrıştırma” dersi ücretsiz mi?
Evet — “Girdiden Sayıları Ayrıştırma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Girdiden Sayıları Ayrıştırma” dersinde ne öğreneceğim?
Metni sayılara dönüştürün. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Girdiden Sayıları Ayrıştırma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- BufferedReader Neden Kullanılır
- Satırları Okuma
- Girdiden Sayıları Ayrıştırma
- Akışları Güvenle Kapatma