Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. char[] alphabet = {'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т',
  2. 'у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'};
  3. public int findInArr(char whatToFind, char[] where) {
  4. for (int i = 0; i <= where.length; i++) {
  5. if (where[i] == whatToFind) {
  6. return i;
  7. }
  8. }
  9. return 0;//Эта строка добавлена, дабы компилятор не ругался на отсутствие "return"
  10. }
  11. public String encrypt_N(String text, String key) {
  12. StringBuilder answer = new StringBuilder();
  13. for(int i = 0; i < text.length(); i++) {
  14. if(text.charAt(i) != ' ') {
  15. int num = findInArr(text.charAt(i), alphabet);
  16. int num2 = findInArr(key.charAt(i % key.length()), alphabet);
  17. answer.append(alphabet[((num + num2) % 33)]);
  18. }
  19. else {
  20. answer.append(' ');
  21. }
  22. }
  23. return answer.toString();
  24. }
  25. public String decrypt_N(String text, String key) {
  26. StringBuilder answer = new StringBuilder();
  27. for(int i = 0; i < text.length(); i++) {
  28. if(text.charAt(i) != ' ') {
  29. int num = findInArr(text.charAt(i), alphabet);
  30. int num2 = findInArr(key.charAt(i), alphabet);
  31. if((num - num2) < 0) {
  32. answer.append(alphabet[-(num - num2) % 33]);
  33. }
  34. else if ((num - num2) >= 0) {
  35. answer.append(alphabet[(num - num2) % 33]);
  36. }
  37. }
  38. else {
  39. answer.append(' ');
  40. }
  41. }
  42. return answer.toString();
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement