Zmodyfikuj przedstawiony kod tak, aby podana funkcja zwracała klucz utworzony ze słowa bazowego zapisanego od końca. Działanie programu przetestuj dla słowa slowoBazowe = "playfair".
Specyfikacja problemu:
Dane:
slowoBazowe – łańcuch znaków; słowo, na którego podstawie ma zostać utworzony klucz
Wynik:
wygenerowanyKlucz – klucz szyfrujący utworzony ze słowa bazowego slowoBazowe zapisanego od końca, wypisany w jednej linii poprzez zestawienie ze sobą wszystkich pięciu wierszy tablicy
R2EgeujTIoVJf
Przykładowe rozwiązanie zadania:
Linia 1. public class Playfair otwórz nawias klamrowy.
Linia 3. public static String przetwarzajKlucz otwórz nawias okrągły String slowoBazowe zamknij nawias okrągły otwórz nawias klamrowy.
Linia 4. if otwórz nawias okrągły slowoBazowe kropka length otwórz nawias okrągły zamknij nawias okrągły zamknij nawias ostrokątny 25 zamknij nawias okrągły.
Linia 5. slowoBazowe znak równości slowoBazowe kropka substring otwórz nawias okrągły 0 przecinek 25 zamknij nawias okrągły średnik.
Linia 6. StringBuilder alfabet znak równości new StringBuilder otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 7. for otwórz nawias okrągły char i znak równości apostrof A apostrof średnik i otwórz nawias ostrokątny znak równości apostrof Z apostrof średnik i plus plus zamknij nawias okrągły.
Linia 8. if otwórz nawias okrągły i wykrzyknik znak równości apostrof Q apostrof zamknij nawias okrągły.
Linia 9. alfabet kropka append otwórz nawias okrągły i zamknij nawias okrągły średnik.
Linia 11. slowoBazowe znak równości new StringBuilder otwórz nawias okrągły slowoBazowe kropka toUpperCase otwórz nawias okrągły zamknij nawias okrągły zamknij nawias okrągły kropka reverse otwórz nawias okrągły zamknij nawias okrągły kropka toString otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 13. StringBuilder przetworzonyKlucz znak równości new StringBuilder otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 14. for otwórz nawias okrągły char x dwukropek slowoBazowe kropka toCharArray otwórz nawias okrągły zamknij nawias okrągły zamknij nawias okrągły.
Linia 15. if otwórz nawias okrągły alfabet kropka toString otwórz nawias okrągły zamknij nawias okrągły kropka indexOf otwórz nawias okrągły x zamknij nawias okrągły wykrzyknik znak równości minus 1 ampersant ampersant przetworzonyKlucz kropka toString otwórz nawias okrągły zamknij nawias okrągły kropka indexOf otwórz nawias okrągły x zamknij nawias okrągły znak równości znak równości minus 1 zamknij nawias okrągły.
Linia 16. przetworzonyKlucz kropka append otwórz nawias okrągły x zamknij nawias okrągły średnik.
Linia 18. for otwórz nawias okrągły char x dwukropek alfabet kropka toString otwórz nawias okrągły zamknij nawias okrągły kropka toCharArray otwórz nawias okrągły zamknij nawias okrągły zamknij nawias okrągły.
Linia 19. if otwórz nawias okrągły przetworzonyKlucz kropka toString otwórz nawias okrągły zamknij nawias okrągły kropka indexOf otwórz nawias okrągły x zamknij nawias okrągły znak równości znak równości minus 1 zamknij nawias okrągły.
Linia 20. przetworzonyKlucz kropka append otwórz nawias okrągły x zamknij nawias okrągły średnik.
Linia 22. return przetworzonyKlucz kropka toString otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 23. zamknij nawias klamrowy.
Linia 25. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 26. System kropka out kropka println otwórz nawias okrągły przetwarzajKlucz otwórz nawias okrągły cudzysłów playfair cudzysłów zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 27. zamknij nawias klamrowy.
Linia 28. zamknij nawias klamrowy.