Java'da değişken bir Dize ile kaydırma

Java ile bir cümlenin harflerinin her birini çıkarmak mümkündür.

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); }