Java'da değişken bir Dize ile kaydırma
Standart teknik
"CharAt" işlevinin yinelenen çağrısıyla düzenli "for" döngüsü, bir string değişkenini hareket ettirmenin en doğrudan yoludur.
Dize str = "burada metin";
için (int n = 0, n
"CharAt" işlevi, sabit bir zamanda belirli bir dizinin karakterini döndürür. Çevrim, zincirdeki ilk karaktere erişir ve zincirin sonuna erişene kadar bir defada bir karakter ileri sarar. "System.out.println" işlevi, karakterin değerini gösterir.
Bir zincir geri yürü
Son karakterle başlayıp, döngü dizenin ilk karakterine ulaşıncaya kadar geriye doğru hareket ederek değişken sırayla bir String çalıştırın.
Dize str = "burada metin";
(int n = str.length () -1, n> = 0; n -) {char c = str.charAt (n); System.out.println (c); }
"Her biri için" döngüsü ile tur
Bir dizeyi "for-each" yapı ile çaprazlamak mümkündür, ancak önce string değişkeninden bir dizi karakter yaratan "ToCharArray ()" işlevini çağırmalısınız.
Dize str = "burada metin";
(char c: str.toCharArray ()) {System.out.println (c) için; }
Ne yazık ki, "ToCharArray ()" işlevi, dize değişkeninden tamamen yeni bir karakter dizisi oluşturmanız gerektiğinden sabit bir maliyetle geliyor.
Bir "CharacterIterator" nesnesiyle yürü
Bir dizgeyi geçmenin başka bir yolu, dizeden bir "CharacterIterator" nesnesi oluşturmak ve sonra normal bir "for" döngüsü ile nesne boyunca yineleme yapmaktır.
CharacterIterator str_it = yeni StringCharacterIterator ("text here");
(char c = str_it.first (); c = CharacterIterator.DONE ;! str_it.next c = ()) {System.out.println (c); }
Alternatif olarak, "CharacterIterator" üzerinden "son" ve "önceki" işlevlerle ters sırayla yineleyin.
(char c = str_it.last (); c = CharacterIterator.DONE;! str_it.previous c = ()) {System.out.println (c); }