Module: AP BİLGİSAYAR BİLİMİ BÖLÜM II 2014


Problem

1/3

AP Computer Science A 2014 Ücretsiz Yanıtlı Soru - scrambleWord

Problem

1. Bu soru, büyük harflerden oluşan diziler hakkında akıl yürütmeyi içerir. Aynı sınıfta görünen (gösterilmemiştir) iki ilişkili yöntemi uygulayacaksınız. İlk yöntem, tek bir dize parametresi alır ve bu dizenin karışık bir versiyonunu döndürür. İkinci yöntem, dizelerin bir listesini alır ve listedeki her girişi karıştırarak listeyi değiştirir. Karıştırılamayan tüm girişler listeden kaldırılır. 
a) Belirli bir Word'ü alan ve aşağıdaki kurallara göre kelimenin karıştırılmış bir sürümünü içeren bir dize döndüren scrambleWord yöntemini yazın.
  • Karıştırma işlemi kelimenin ilk harfinden başlar ve soldan sağa doğru devam eder. 
  • Ardışık iki harf bir "A"dan oluşuyorsa ardından "A" olmayan bir harf gelir, ardından ortaya çıkan dizide iki harf değiştirilir.
  • İki bitişik konumdaki harfler değiş tokuş edildikten sonra, bu iki konumdan hiçbiri gelecekteki bir değiş tokuşta yer alamaz.
Aşağıdaki tabloda, birkaç kelime örneği ve bunların karıştırılmış hali gösterilmektedir.
Aşağıdaki scrambleWord yöntemini tamamlayın.

 /** Belirli bir kelimeyi karıştırır.
 * @param kelime karıştırılacak kelime
 * @karıştırılmış kelimeyi döndürür (muhtemelen kelimeye eşittir)
 * Önkoşul: kelime ya boş bir dizedir ya da yalnızca büyük harfler içerir.
 * Son koşul: döndürülen dize, kelimeden şu şekilde oluşturulmuştur:
 * - kelime, ilk harften başlayarak ve soldan sağa devam ederek karıştırıldı
 * - "A" dan oluşan iki ardışık harf ardından "A" olmayan bir harf; değiştirildi
 * - harfler en fazla bir kez değiştirildi
 */
 public statik Dize scrambleWord(String kelime)

b) wordList parametresindeki her kelimeyi şifreli versiyonuyla değiştiren ve karıştırmadan sonra değişmeyen kelimeleri kaldıran scrambleOrRemove yöntemini yazın. wordList'teki girişlerin göreli sıralaması, scrambleOrRemove çağrısından öncekiyle aynı kalır.
Aşağıdaki örnek, wordList içeriğinin scrambleOrRemove çağrısının bir sonucu olarak nasıl değiştirileceğini gösterir.
scrambleOrRemove çağrısından önce:

kelimeListesi 
kelime SchambleWord(word) tarafından döndürülen sonuç
"TAN" "TNA"
"ABRACADABRA" "BARCADABARA"
"WHOA" "WHOA"
"AARDVARK" "ARADVRAK"
"YUMURTA" "YUMURTA"
"A" "A"
"" ""

scrambleOrRemove çağrısından sonra:
kelime listesi
0 1 2 3 4
"TAN" "ABRACADABRA" "WHOA" "ELMA" "YUMURTA"
0 1 2
"TAN" "BARCADABARA" "PAPLE"
Write the program below


                                
public static String scrambleWord(String word)
    {              
}
public static void scrambleOrRemove(List<String> wordList)
{              
}              


                                

     

Program check result

To check the solution of the problem, you need to register or log in!