Advertisement
Vasilena

ТЕМА_28_CW+HW

Jun 22nd, 2021
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.84 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5.     public static char[] CurrBinaryStr;
  6.     public static char[] PreviousBinaryStr;
  7.  
  8.  
  9.     public static void xOR() {
  10.         for (int i = 0; i < PreviousBinaryStr.length; i++) {
  11.             char CurrCh = CurrBinaryStr[i];
  12.             char PrevCh = PreviousBinaryStr[i];
  13.  
  14.             if(CurrCh == PrevCh){
  15.                 CurrBinaryStr[i] = '0';
  16.             }else{
  17.                 CurrBinaryStr[i]  = '1';
  18.             }
  19.         }
  20.     }//END OF xOR METHOD//
  21.  
  22.     public static void rotation(int n){
  23.         char[] rotate = CurrBinaryStr;
  24.         for (int i = 0; i < n; i++) {
  25.             for (int j = 0; j < 7; j++) {
  26.                 char Buff = rotate[j+1];
  27.                 rotate[j+1] = rotate[0];
  28.                 rotate[0] = Buff;
  29.             }
  30.         }
  31.         CurrBinaryStr = rotate;
  32.     }//END OF ROTATION METHOD//
  33.  
  34.     public static void shift(int n){
  35.         char[] Shifts = CurrBinaryStr;
  36.         for (int i = 0; i < n; i++) {
  37.             for (int j = 0; j < 7; j++) {
  38.                 char Buff = Shifts[j+1];
  39.                 Shifts[j+1] = Shifts[0];
  40.                 if(j == 6){
  41.                     Buff = '0';
  42.                 }
  43.                 Shifts[0] = Buff;
  44.             }
  45.         }
  46.         CurrBinaryStr = Shifts;
  47.     }//END SHIFT METHOD//
  48.  
  49.     public static void main(String[] args) {
  50.         Scanner scanner = new Scanner(System.in);
  51.  
  52.         System.out.println("Input string: ");
  53.         String Name = scanner.nextLine();
  54.  
  55.         char[] NameToCharArr = Name.toCharArray();
  56.  
  57.         for (int i = 0; i < NameToCharArr.length; i++) {
  58.             int aSCII = NameToCharArr[i];
  59.  
  60.             CurrBinaryStr = new char[8];
  61.             PreviousBinaryStr = new char[8];
  62.  
  63.             CurrBinaryStr = Integer.toBinaryString(aSCII).toCharArray();
  64.  
  65.             if(CurrBinaryStr.length == 7){
  66.                 char[] EightBit = new char[8];
  67.                 EightBit[0] = '0';
  68.                 for (int j = 0; j < 7; j++) {
  69.                     EightBit[j+1] = CurrBinaryStr[j];
  70.                 }
  71.                 CurrBinaryStr = EightBit;
  72.             }
  73.  
  74.             PreviousBinaryStr = Arrays.copyOf(CurrBinaryStr, 8);
  75.             rotation(8);
  76.             xOR();
  77.             PreviousBinaryStr = Arrays.copyOf(CurrBinaryStr, 8);
  78.             rotation(12);
  79.             xOR();
  80.             PreviousBinaryStr = Arrays.copyOf(CurrBinaryStr, 8);
  81.             shift(1);
  82.  
  83.             int stepen = 1;
  84.             int sum = 0;
  85.             int l = CurrBinaryStr.length;
  86.  
  87.             for (int j = 0; j < 8; j++) {
  88.                 if(CurrBinaryStr[l-j-1] == '1'){
  89.                     sum += stepen;
  90.                 }
  91.                 stepen = stepen*2;
  92.             }
  93.         }
  94.         System.out.println(CurrBinaryStr);
  95.  
  96.     }//END OF MAIN//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement