Sayıları ve Satırları Okuma
nextInt, nextLine ve tuzaklar
Sayıları ve Satırları Okuma, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 2. 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.
Türü Belirtilmiş Sayıları Okuma
Scanner, nextInt ve nextDouble gibi yöntemlerle sayıları doğrudan okuyabilir. Bu yöntemler bir sonraki belirteci karşılık gelen ilkel türe dönüştürür.
Bir Tamsayı Okuma
nextInt(), bir sonraki belirteci okur ve onu int olarak döndürür. Burada yazmadan çalışabilmesi için sabit bir dize kullanıyoruz.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("25");
int age = scanner.nextInt();
System.out.println(age + 1);
scanner.close();
}
}Bir Ondalıklı Sayı Okuma
nextDouble(), kayan noktalı bir değer okur. Ardından bu değeri hesaplamalarda kullanabilirsiniz.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("3.5");
double radius = scanner.nextDouble();
System.out.println(radius * 2);
scanner.close();
}
}Birden Çok Sayı Okuma
Birden çok sayısal okuma, aralarındaki boşlukları atlayarak belirteçleri art arda alır.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("10 20 30");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
System.out.println(a + b + c);
scanner.close();
}
}İşiniz Bitene Kadar Toplama
Bilinmeyen sayıda değeri okumak için hasNextInt() ile nextInt() yöntemlerini birleştirin.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("5 15 25 35");
int total = 0;
while (scanner.hasNextInt()) {
total += scanner.nextInt();
}
System.out.println(total);
scanner.close();
}
}Ünlü nextLine Tuzakları
Klasik tuzak şöyledir: nextInt() sayıyı okur ancak satır sonu karakterini arabellekte bırakır. Ardından gelen nextLine(), beklediğiniz metin yerine geride kalan bu boş satırı okur.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("42\nHello World");
int n = scanner.nextInt();
String line = scanner.nextLine();
System.out.println("Number: " + n);
System.out.println("Line: [" + line + "]");
scanner.close();
}
}Tuzak Noktasını Düzeltme
Düzeltme, gerçek satır girdisini okumadan önce bekleyen satır sonunu tüketmek için nextInt() çağrısından sonra ek bir nextLine() çağırmaktır.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("42\nHello World");
int n = scanner.nextInt();
scanner.nextLine();
String line = scanner.nextLine();
System.out.println("Number: " + n);
System.out.println("Line: [" + line + "]");
scanner.close();
}
}Uzun Tamsayıları ve Mantıksal Değerleri Okuma
Scanner ayrıca nextLong, nextBoolean ve başka yöntemler de sunar. Her biri, karşılık gelen türdeki bir belirteci okur.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("9000000000 true");
long big = scanner.nextLong();
boolean flag = scanner.nextBoolean();
System.out.println(big);
System.out.println(flag);
scanner.close();
}
}Uyumsuz Türler İstisna Fırlatır
Sonraki belirteç geçerli bir sayı değilse nextInt bir InputMismatchException fırlatır. Emin olmadığınız durumlarda önce her zaman hasNextInt ile kontrol edin.
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("abc");
try {
scanner.nextInt();
} catch (InputMismatchException e) {
System.out.println("Not an integer!");
}
scanner.close();
}
}Güvenli Sayısal Okuma
Sağlam bir yaklaşım, yalnızca doğru tür kullanılabilir olduğunda okuma yapar; aksi durumda hatalı belirteci okuyup atar.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("x 7 y 9");
int sum = 0;
while (scanner.hasNext()) {
if (scanner.hasNextInt()) {
sum += scanner.nextInt();
} else {
scanner.next();
}
}
System.out.println(sum);
scanner.close();
}
}Önemli Hatırlatmalar
Sayılar için nextInt ve nextDouble kullanın, hasNext ailesiyle kontrol edin ve nextLine yöntemine geçmeden önce kalan satır sonunu tüketmeyi unutmayın.
Hızlı Kontrol
Sayı ve satır okuma bilginizi sınayın.
Özet
Sayıları ve satırları okumayı öğrendiniz:
nextInt,nextDoublevenextLongtürü belirtilmiş sayıları okur- Sayı adedi bilinmiyorsa
hasNextIntile döngü kurun - Satır sonu tuzağı:
nextIntsonrasında ek birnextLineçağırın - Geçersiz belirteçler
InputMismatchExceptionfırlatır - Güvenlik için okumaları
hasNextailesiyle kontrol edin
Sıkça Sorulan Sorular
“Sayıları ve Satırları Okuma” dersi ücretsiz mi?
Evet — “Sayıları ve Satırları Okuma” 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.
“Sayıları ve Satırları Okuma” dersinde ne öğreneceğim?
nextInt, nextLine ve tuzaklar 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 2. dersidir.
“Sayıları ve Satırları Okuma” 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
- Scanner ile Girdi Okuma
- Sayıları ve Satırları Okuma
- Kullanıcı Girdisini Doğrulama
- BufferedReader Alternatifi