Napisz program zliczający wystąpienia każdego znaku znajdującego się w łańcuchu znaków wiadomosc. Program powinien wypisywać wyniki zgodnie z następującym schematem:
Linia 1. Znak dwukropek Liczba wystąpień znaku.
Znaki powinny być wypisane w kolejności rosnącej według ich kodowania w języku Java. Na przykład znak A powinien zostać wypisany przed znakiem B. Nie powinny zostać wypisane znaki, które nie były zawarte w łańcuchu znaków wiadomosc.
Przetestuj swój program dla podanego ciągu znaków:
Linia 1. wiadomosc znak równości cudzysłów AAAA121345122 minus Zlicz mnie cudzysłów.
Dla przedstawionych danych program powinien wypisać:
Linia 1. dwukropek 3.
Linia 2. minus dwukropek 1.
Linia 3. 1 dwukropek 3.
Linia 4. 2 dwukropek 3.
Linia 5. 3 dwukropek 1.
Linia 6. 4 dwukropek 1.
Linia 7. 5 dwukropek 1.
Linia 8. A dwukropek 4.
Linia 9. Z dwukropek 1.
Linia 10. c dwukropek 1.
Linia 11. e dwukropek 1.
Linia 12. i dwukropek 2.
Linia 13. l dwukropek 1.
Linia 14. m dwukropek 1.
Linia 15. n dwukropek 1.
Linia 16. z dwukropek 1.
Specyfikacja:
Dane:
wiadomosc – łańcuch znaków, w którym należy zliczyć wystąpienia poszczególnych znaków
Wynik:
(char) (i + min) + ":" + zliczoneWystapienia[i] – wyniki zliczenia zgodnie ze schematem: Znak:LiczbaWystapien
RTUmbvmPhowdK1
Linia 1. public class Main otwórz nawias klamrowy.
Linia 3. public static char znajdzMax otwórz nawias okrągły String wiadomosc zamknij nawias okrągły otwórz nawias klamrowy.
Linia 4. char maxLiczba znak równości Character kropka MIN podkreślnik VALUE średnik prawy ukośnik prawy ukośnik stała oznaczająca minimalną zamknij nawias ostrokątny wartość jaką może mieć char.
Linia 5. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny wiadomosc kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. if otwórz nawias okrągły maxLiczba otwórz nawias ostrokątny wiadomosc kropka charAt otwórz nawias okrągły i zamknij nawias okrągły zamknij nawias okrągły.
Linia 7. maxLiczba znak równości wiadomosc kropka charAt otwórz nawias okrągły i zamknij nawias okrągły średnik.
Linia 8. zamknij nawias klamrowy.
Linia 9. return maxLiczba średnik.
Linia 10. zamknij nawias klamrowy.
Linia 12. public static char znajdzMin otwórz nawias okrągły String wiadomosc zamknij nawias okrągły otwórz nawias klamrowy.
Linia 13. char minLiczba znak równości Character kropka MAX podkreślnik VALUE średnik prawy ukośnik prawy ukośnik stała oznaczająca maksymalną wartość jaką może mieć char.
Linia 14. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny wiadomosc kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 15. if otwórz nawias okrągły minLiczba zamknij nawias ostrokątny wiadomosc kropka charAt otwórz nawias okrągły i zamknij nawias okrągły zamknij nawias okrągły.
Linia 16. minLiczba znak równości wiadomosc kropka charAt otwórz nawias okrągły i zamknij nawias okrągły średnik.
Linia 17. zamknij nawias klamrowy.
Linia 18. return minLiczba średnik.
Linia 19. zamknij nawias klamrowy.
Linia 21. public static int otwórz nawias kwadratowy zamknij nawias kwadratowy zlicz otwórz nawias okrągły String wiadomosc zamknij nawias okrągły otwórz nawias klamrowy.
Linia 22. int otwórz nawias kwadratowy zamknij nawias kwadratowy tabZliczajaca średnik.
Linia 23. char min znak równości znajdzMin otwórz nawias okrągły wiadomosc zamknij nawias okrągły średnik.
Linia 24. char max znak równości znajdzMax otwórz nawias okrągły wiadomosc zamknij nawias okrągły średnik.
Linia 25. tabZliczajaca znak równości new int otwórz nawias kwadratowy max minus min plus 1 zamknij nawias kwadratowy średnik.
Linia 26. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny wiadomosc kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 27. tabZliczajaca otwórz nawias kwadratowy wiadomosc kropka charAt otwórz nawias okrągły i zamknij nawias okrągły minus min zamknij nawias kwadratowy plus plus średnik.
Linia 28. zamknij nawias klamrowy.
Linia 29. return tabZliczajaca średnik.
Linia 30. zamknij nawias klamrowy.
Linia 32. 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 33. String wiadomosc znak równości cudzysłów AAAA121345122 minus Zlicz mnie cudzysłów średnik.
Linia 34. int otwórz nawias kwadratowy zamknij nawias kwadratowy zliczoneWystapienia znak równości zlicz otwórz nawias okrągły wiadomosc zamknij nawias okrągły średnik.
Linia 35. int min znak równości znajdzMin otwórz nawias okrągły wiadomosc zamknij nawias okrągły średnik.
Linia 36. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny zliczoneWystapienia kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 37. if otwórz nawias okrągły zliczoneWystapienia otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias ostrokątny 0 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 38. System kropka out kropka println otwórz nawias okrągły otwórz nawias okrągły char zamknij nawias okrągły otwórz nawias okrągły i plus min zamknij nawias okrągły plus cudzysłów dwukropek cudzysłów plus zliczoneWystapienia otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły średnik.
Linia 39. zamknij nawias klamrowy.
Linia 40. zamknij nawias klamrowy.
Linia 41. zamknij nawias klamrowy.
Linia 42. zamknij nawias klamrowy.
21
Ćwiczenie 2
Napisz program, który zakoduje łańcuch znaków wiadomosc, korzystając z podanej książki kodowej. Program powinien wypisać zakodowaną wiadomość w postaci ciągu zer i jedynek. Swój program przetestuj dla podanego ciągu znaków:
Linia 1. wiadomosc znak równości cudzysłów AAABCDEFGHAABDDEFFG minus Zakoduj mnie proszę cudzysłów.
Specyfikacja:
Dane:
wiadomosc – łańcuch znaków do zakodowania
Wynik:
zakodowanaWiadomosc – zakodowany łańcuch znaków
R23POAuTlSWpS
Linia 1. class Kod otwórz nawias klamrowy.
Linia 2. char kodowanyZnak średnik.
Linia 3. String slowoKodowe średnik.
Linia 5. Kod otwórz nawias okrągły char kodowanyZnak przecinek String slowoKodowe zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. this kropka kodowanyZnak znak równości kodowanyZnak średnik.
Linia 7. this kropka slowoKodowe znak równości slowoKodowe średnik.
Linia 8. zamknij nawias klamrowy.
Linia 9. zamknij nawias klamrowy.
Linia 11. public class Main otwórz nawias klamrowy.
Linia 12. public static Kod otwórz nawias kwadratowy zamknij nawias kwadratowy zainicjalizujKsiazkeKodowa otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 13. Kod otwórz nawias kwadratowy zamknij nawias kwadratowy ksiazkaKodowa znak równości new Kod otwórz nawias kwadratowy 26 zamknij nawias kwadratowy średnik.
Linia 14. ksiazkaKodowa otwórz nawias kwadratowy 0 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof apostrof przecinek cudzysłów 0000 cudzysłów zamknij nawias okrągły średnik.
Linia 15. ksiazkaKodowa otwórz nawias kwadratowy 1 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof H apostrof przecinek cudzysłów 000100 cudzysłów zamknij nawias okrągły średnik.
Linia 16. ksiazkaKodowa otwórz nawias kwadratowy 2 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof Z apostrof przecinek cudzysłów 000101 cudzysłów zamknij nawias okrągły średnik.
Linia 17. ksiazkaKodowa otwórz nawias kwadratowy 3 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof minus apostrof przecinek cudzysłów 000110 cudzysłów zamknij nawias okrągły średnik.
Linia 18. ksiazkaKodowa otwórz nawias kwadratowy 4 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof C apostrof przecinek cudzysłów 000111 cudzysłów zamknij nawias okrągły średnik.
Linia 19. ksiazkaKodowa otwórz nawias kwadratowy 5 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof E apostrof przecinek cudzysłów 00100 cudzysłów zamknij nawias okrągły średnik.
Linia 20. ksiazkaKodowa otwórz nawias kwadratowy 6 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof G apostrof przecinek cudzysłów 00101 cudzysłów zamknij nawias okrągły średnik.
Linia 21. ksiazkaKodowa otwórz nawias kwadratowy 7 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof D apostrof przecinek cudzysłów 0011 cudzysłów zamknij nawias okrągły średnik.
Linia 22. ksiazkaKodowa otwórz nawias kwadratowy 8 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof A apostrof przecinek cudzysłów 010 cudzysłów zamknij nawias okrągły średnik.
Linia 23. ksiazkaKodowa otwórz nawias kwadratowy 9 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof F apostrof przecinek cudzysłów 0110 cudzysłów zamknij nawias okrągły średnik.
Linia 24. ksiazkaKodowa otwórz nawias kwadratowy 10 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof B apostrof przecinek cudzysłów 0111 cudzysłów zamknij nawias okrągły średnik.
Linia 25. ksiazkaKodowa otwórz nawias kwadratowy 11 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof s apostrof przecinek cudzysłów 10000 cudzysłów zamknij nawias okrągły średnik.
Linia 26. ksiazkaKodowa otwórz nawias kwadratowy 12 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof u apostrof przecinek cudzysłów 10001 cudzysłów zamknij nawias okrągły średnik.
Linia 27. ksiazkaKodowa otwórz nawias kwadratowy 13 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof p apostrof przecinek cudzysłów 10010 cudzysłów zamknij nawias okrągły średnik.
Linia 28. ksiazkaKodowa otwórz nawias kwadratowy 14 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof r apostrof przecinek cudzysłów 10011 cudzysłów zamknij nawias okrągły średnik.
Linia 29. ksiazkaKodowa otwórz nawias kwadratowy 15 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof o apostrof przecinek cudzysłów 1010 cudzysłów zamknij nawias okrągły średnik.
Linia 30. ksiazkaKodowa otwórz nawias kwadratowy 16 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof z apostrof przecinek cudzysłów 10110 cudzysłów zamknij nawias okrągły średnik.
Linia 31. ksiazkaKodowa otwórz nawias kwadratowy 17 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof ę apostrof przecinek cudzysłów 10111 cudzysłów zamknij nawias okrągły średnik.
Linia 32. ksiazkaKodowa otwórz nawias kwadratowy 18 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof e apostrof przecinek cudzysłów 11000 cudzysłów zamknij nawias okrągły średnik.
Linia 33. ksiazkaKodowa otwórz nawias kwadratowy 19 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof i apostrof przecinek cudzysłów 11001 cudzysłów zamknij nawias okrągły średnik.
Linia 34. ksiazkaKodowa otwórz nawias kwadratowy 20 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof a apostrof przecinek cudzysłów 11010 cudzysłów zamknij nawias okrągły średnik.
Linia 35. ksiazkaKodowa otwórz nawias kwadratowy 21 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof d apostrof przecinek cudzysłów 11011 cudzysłów zamknij nawias okrągły średnik.
Linia 36. ksiazkaKodowa otwórz nawias kwadratowy 22 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof m apostrof przecinek cudzysłów 11100 cudzysłów zamknij nawias okrągły średnik.
Linia 37. ksiazkaKodowa otwórz nawias kwadratowy 23 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof n apostrof przecinek cudzysłów 11101 cudzysłów zamknij nawias okrągły średnik.
Linia 38. ksiazkaKodowa otwórz nawias kwadratowy 24 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof j apostrof przecinek cudzysłów 11110 cudzysłów zamknij nawias okrągły średnik.
Linia 39. ksiazkaKodowa otwórz nawias kwadratowy 25 zamknij nawias kwadratowy znak równości new Kod otwórz nawias okrągły apostrof k apostrof przecinek cudzysłów 11111 cudzysłów zamknij nawias okrągły średnik.
Linia 40. return ksiazkaKodowa średnik.
Linia 41. zamknij nawias klamrowy.
Linia 43. public static String zakoduj otwórz nawias okrągły String wiadomosc przecinek Kod otwórz nawias kwadratowy zamknij nawias kwadratowy ksiazkaKodowa zamknij nawias okrągły otwórz nawias klamrowy.
Linia 44. String zakodowanaWiadomosc znak równości cudzysłów cudzysłów średnik.
Linia 45. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny wiadomosc kropka length otwórz nawias okrągły zamknij nawias okrągły średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 46. int j znak równości 0 średnik.
Linia 47. while otwórz nawias okrągły ksiazkaKodowa otwórz nawias kwadratowy j zamknij nawias kwadratowy kropka kodowanyZnak wykrzyknik znak równości wiadomosc kropka charAt otwórz nawias okrągły i zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 48. j plus plus średnik.
Linia 49. zamknij nawias klamrowy.
Linia 50. zakodowanaWiadomosc plus znak równości ksiazkaKodowa otwórz nawias kwadratowy j zamknij nawias kwadratowy kropka slowoKodowe średnik.
Linia 51. zamknij nawias klamrowy.
Linia 52. return zakodowanaWiadomosc średnik.
Linia 53. zamknij nawias klamrowy.
Linia 55. 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 56. String wiadomosc znak równości cudzysłów AAABCDEFGHAABDDEFFG minus Zakoduj mnie proszę cudzysłów średnik.
Linia 57. Kod otwórz nawias kwadratowy zamknij nawias kwadratowy ksiazkaKodowa znak równości zainicjalizujKsiazkeKodowa otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 58. System kropka out kropka println otwórz nawias okrągły zakoduj otwórz nawias okrągły wiadomosc przecinek ksiazkaKodowa zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 59. zamknij nawias klamrowy.
Linia 60. zamknij nawias klamrowy.