Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char[] alphabet = {'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т',
- 'у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'};
- public int findInArr(char whatToFind, char[] where) {
- for (int i = 0; i <= where.length; i++) {
- if (where[i] == whatToFind) {
- return i;
- }
- }
- return 0;//Эта строка добавлена, дабы компилятор не ругался на отсутствие "return"
- }
- public String encrypt_N(String text, String key) {
- StringBuilder answer = new StringBuilder();
- for(int i = 0; i < text.length(); i++) {
- if(text.charAt(i) != ' ') {
- int num = findInArr(text.charAt(i), alphabet);
- int num2 = findInArr(key.charAt(i % key.length()), alphabet);
- answer.append(alphabet[((num + num2) % 33)]);
- }
- else {
- answer.append(' ');
- }
- }
- return answer.toString();
- }
- public String decrypt_N(String text, String key) {
- StringBuilder answer = new StringBuilder();
- for(int i = 0; i < text.length(); i++) {
- if(text.charAt(i) != ' ') {
- int num = findInArr(text.charAt(i), alphabet);
- int num2 = findInArr(key.charAt(i), alphabet);
- if((num - num2) < 0) {
- answer.append(alphabet[-(num - num2) % 33]);
- }
- else if ((num - num2) >= 0) {
- answer.append(alphabet[(num - num2) % 33]);
- }
- }
- else {
- answer.append(' ');
- }
- }
- return answer.toString();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement