Boyan5

Title 28 homework

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