Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Shifr
- {
- /*
- char[][] tabl1 ={
- {'ж','щ','н','ю','р','и','т','ь'},
- {'ц','б','я','м','е','с','в','ы'},
- {'п','ч','д','у','о','у','з','э'},
- {'ф','г','ш','х','а','л','ъ','й'}
- };
- char[][] tabl2 ={
- {'й','ч','г','я','т','ж','ь','м'},
- {'о','з','ю','п','в','щ','ц','р'},
- {'у','л','ъ','а','и','х','э','к'},
- {'с','ш','д','б','ф','у','ы','н'}
- };
- */
- char[][] tabl1 ={
- {'ж','щ','н','ю','р'},
- {'и','т','ь','ц','б'},
- {'я','м','е','.','с'},
- {'в','ы','п','ч','ё'},
- {':','д','у','о','к'},
- {'з','э','ф','г','ш'},
- {'ч','а',',','л','ъ'},
- };
- char[][] tabl2 ={
- {'и','ч','г','я','т'},
- {',','ж','ь','м','о'},
- {'з','ю','р','в','щ'},
- {'ц',':','п','е','л'},
- {'ъ','а','н','.','х'},
- {'э','к','с','ш','д'},
- {'б','ф','у','ы','ё'}
- };
- final int N = 7;
- final int M = 5;
- public Shifr()
- {
- String str = input();
- String sh = shifr(str);
- String deSh = deShifr(sh);
- System.out.println(sh+"\n"+deSh);
- }
- private String input()
- {
- String str;
- Scanner sc = new Scanner(System.in);
- System.out.println("Введите предложение для шифровки");
- str = sc.nextLine();
- str = str.replaceAll(" ", "");
- System.out.println(str);
- sc.close();
- return str;
- }
- private String shifr(String str)
- {
- String shStr = "";
- for(int n = 0; n < str.length(); n+=2)
- {
- int i1 = getI(tabl1,str.charAt(n));
- int j1 = getJ(tabl1,str.charAt(n));
- int i2 = getI(tabl2,str.charAt(n+1));
- int j2 = getJ(tabl2,str.charAt(n+1));
- if(i1 == i2)
- {
- shStr+=tabl2[i1][j1];
- shStr+=tabl1[i2][j2];
- }
- else
- {
- shStr+=tabl2[i1][j2];
- shStr+=tabl1[i2][j1];
- }
- }
- return shStr;
- }
- private String deShifr(String str)
- {
- String deStr = "";
- for(int n = 0; n < str.length(); n+=2)
- {
- int i1 = getI(tabl2,str.charAt(n));
- int j1 = getJ(tabl2,str.charAt(n));
- int i2 = getI(tabl1,str.charAt(n+1));
- int j2 = getJ(tabl1,str.charAt(n+1));
- if(i1 == i2)
- {
- deStr+=tabl1[i1][j1];
- deStr+=tabl2[i2][j2];
- }
- else
- {
- deStr+=tabl1[i1][j2];
- deStr+=tabl2[i2][j1];
- }
- }
- return deStr;
- }
- private int getI(char [][] table, char s)
- {
- for(int i = 0; i < N; i++)
- for(int j = 0; j < M; j++)
- {
- if(table[i][j] == s)
- return i;
- }
- return -1;
- }
- private int getJ(char [][] table, char s)
- {
- for(int i = 0; i < N; i++)
- for(int j = 0; j < M; j++)
- {
- if(table[i][j] == s)
- return j;
- }
- return -1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement