Dize Ayrıştırıcısı
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 48 / 59.
StringTokenizer, bir dizgeyi bir ayırıcıya dayalı olarak belirteçlere (daha küçük parçalara) ayırmak için kullanılır. Varsayılan olarak, boşluk karakterini ayırıcı olarak kullanır.
Varsayılan ayırıcı (boşluk) ile bir StringTokenizer oluşturun:
StringTokenizer st = new StringTokenizer("Hello World Java");Token say ve al:
int count = st.countTokens();
// Token sayısını alır
String first = st.nextToken();
// Sonraki tokenı alırYukarıdaki kodu çalıştırdıktan sonra, değişkenler şunları içerir:
count: 3
first: "Hello"nextToken()'u çağırdığınızda, o token'ı tokenizer'dan kaldırır. countTokens() metodu, kalan token'ların sayısını döndürür.
StringTokenizer st = new StringTokenizer("Hello World Java");
System.out.println(st.countTokens()); // Yazdı: 3
st.nextToken(); // "Hello" tüketir
System.out.println(st.countTokens()); // Yazdı: 2 (3 değil!)
st.nextToken(); // "World" tüketir
System.out.println(st.countTokens()); // Yazdı: 1İpucu: Toplam token sayısını bilmek istiyorsanız, herhangi bir token tüketmeden önce countTokens() çağırın. Yineleme sırasında daha fazla tokenin mevcut olup olmadığını kontrol etmek için hasMoreTokens() kullanın.
Görev
KolaytokenizeText adında bir metot oluşturun ki iki argüman alsın:
- Tokenize edilecek bir String (
text) - Ayrıştırmak için bir String (
delimiter)
Metot şunu yapmalı:
- Verilen metin ve ayırıcı ile bir StringTokenizer oluşturun
- Token sayısını ve her token'ı yeni bir satırda içeren bir string döndürün
Dönüş mesajları şöyle olmalı:
- Eğer text null ise: return "Invalid text"
- Eğer delimiter null ise: use space as delimiter
- Format: "Token count: X\nToken: token1\nToken: token2\n..."
Kopya kağıdı
StringTokenizer bir dizeyi, bir ayırıcıya göre belirteçlere (daha küçük parçalara) ayırır. Varsayılan olarak, boşluk karakterini ayırıcı olarak kullanır.
Varsayılan ayırıcı (boşluk) ile bir StringTokenizer oluşturun:
StringTokenizer st = new StringTokenizer("Hello World Java");Belirteçleri sayın ve alın:
int count = st.countTokens(); // Belirteç sayısını alır
String first = st.nextToken(); // Sonraki belirteci alırÖzel ayırıcı ile StringTokenizer oluşturun:
StringTokenizer st = new StringTokenizer(text, delimiter);nextToken() çağırdığınızda, o belirteci tokenizer'dan kaldırır. countTokens() yöntemi, kalan belirteçlerin sayısını döndürür.
StringTokenizer st = new StringTokenizer("Hello World Java");
System.out.println(st.countTokens()); // Yazar: 3
st.nextToken(); // "Hello" tüketir
System.out.println(st.countTokens()); // Yazar: 2 (3 değil!)
st.nextToken(); // "World" tüketir
System.out.println(st.countTokens()); // Yazar: 1İpucu: Toplam belirteç sayısını bilmek istiyorsanız, herhangi bir belirteç tüketmeden önce countTokens() çağırın. Yineleme sırasında daha fazla belirteç olup olmadığını kontrol etmek için hasMoreTokens() kullanın.
Kendin dene
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static String tokenizeText(String text, String delimiter) {
// Buraya kodunuzu yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
String delimiter = scanner.nextLine();
if (text.equals("null")) text = null;
if (delimiter.equals("null")) delimiter = null;
System.out.println(tokenizeText(text, delimiter));
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap5HashSet Kısım 2
Matematik - HashSet'lerin BirliğiMatematik - HashSet KesişimiMatematik - Küme FarkıMatematik - Simetrik FarkAlt Kümeler ve Üst KümelerKümeler Üzerinde Yineleme8Gelişmiş Dize İşlemleri
StringBuilder TemelleriStringBuffer'e GirişDüzenli İfadeler TemelleriRegex ile Desen EşleştirmeDize AyrıştırıcısıGelişmiş Dize Biçimlendirme3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme