SHARE
TWEET

Untitled

bobo_bobkata Oct 23rd, 2019 88 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package Momchil.ZaSrqda;
  2.  
  3. import java.util.Arrays;
  4. import java.util.LinkedHashMap;
  5. import java.util.Map;
  6. import java.util.concurrent.atomic.AtomicInteger;
  7.  
  8. public class Main {
  9.     private static Map<String, Integer> map = new LinkedHashMap<>();
  10.  
  11.     static {
  12.         map.put(".", 75);
  13.  
  14.         map.put("A", 193);
  15.         map.put("B", 194);
  16.         map.put("C", 195);
  17.         map.put("D", 196);
  18.         map.put("E", 197);
  19.         map.put("F", 198);
  20.         map.put("G", 199);
  21.         map.put("H", 200);
  22.         map.put("I", 201);
  23.  
  24.         map.put("J", 209);
  25.         map.put("K", 210);
  26.         map.put("L", 211);
  27.         map.put("M", 212);
  28.         map.put("N", 213);
  29.         map.put("O", 214);
  30.         map.put("P", 215);
  31.         map.put("Q", 216);
  32.         map.put("R", 217);
  33.  
  34.         map.put("S", 226);
  35.         map.put("T", 227);
  36.         map.put("U", 228);
  37.         map.put("V", 229);
  38.         map.put("W", 230);
  39.         map.put("X", 231);
  40.         map.put("Y", 232);
  41.         map.put("Z", 233);
  42.  
  43.         map.put("a", 129);
  44.         map.put("b", 130);
  45.         map.put("c", 131);
  46.         map.put("d", 132);
  47.         map.put("e", 133);
  48.         map.put("f", 134);
  49.         map.put("g", 135);
  50.         map.put("h", 136);
  51.         map.put("i", 137);
  52.  
  53.         map.put("j", 145);
  54.         map.put("k", 146);
  55.         map.put("l", 147);
  56.         map.put("m", 148);
  57.         map.put("n", 149);
  58.         map.put("o", 150);
  59.         map.put("p", 151);
  60.         map.put("q", 152);
  61.         map.put("r", 152);
  62.  
  63.         map.put("s", 162);
  64.         map.put("t", 163);
  65.         map.put("u", 164);
  66.         map.put("v", 165);
  67.         map.put("w", 166);
  68.         map.put("x", 167);
  69.         map.put("y", 168);
  70.         map.put("z", 169);
  71.  
  72.         map.put("#", 123);
  73.  
  74.         map.put("0", 240);
  75.         map.put("1", 241);
  76.         map.put("2", 242);
  77.         map.put("3", 243);
  78.         map.put("4", 244);
  79.         map.put("5", 245);
  80.         map.put("6", 246);
  81.         map.put("7", 247);
  82.         map.put("8", 248);
  83.         map.put("9", 249);
  84.  
  85.         map.put("CR", 13);
  86.         map.put("LF", 37);
  87.  
  88.         map.put(" ", 64);
  89.     }
  90.  
  91.     public static void main(String[] args) {
  92.         String names = "Borislav Radoslavov Nachev";
  93.         String number = "#6";
  94.         String date = "01.07.2003";
  95.         String[][] asciiInfo = getAsciiValues(new String[]{names, number, date});
  96.         pribtMatrix(asciiInfo);
  97.         String[][] ebcdicInfo = getEbcidcValues(new String[]{names, number, date});
  98.         pribtMatrix(ebcdicInfo);
  99.     }
  100.     //TODO add carrige new line feed
  101.     public static void pribtMatrix(String[][] matrix) {
  102.         for (int i = 0; i < matrix.length; i++) {
  103.             for (int j = 0; j < matrix[i].length; j++) {
  104.                 System.out.println(matrix[i][j] + " ");
  105.             }
  106.             System.out.println();
  107.         }
  108.     }
  109.  
  110.     public static String[][] getEbcidcValues(String[] words) {
  111.         String[][] matrix = new String[3][3];
  112.         for (int i = 0; i < words.length; i++) {
  113.             matrix[0][i] = formatArray(words[i], getBinaryEbcidValues(words[i]));
  114.             matrix[1][i] = formatArray(words[i], getOctalEbcidValues(words[i]));
  115.             matrix[2][i] = formatArray(words[i], getHexEbcidValues(words[i]));
  116.         }
  117.         return matrix;
  118.     }
  119.  
  120.     public static String[] getBinaryEbcidValues(String names) {
  121.         return Arrays.stream(names.split("")).map(e -> Integer.toBinaryString(map.get(e))).toArray(String[]::new);
  122.     }
  123.  
  124.     public static String[] getOctalEbcidValues(String names) {
  125.         return Arrays.stream(names.split("")).map(e -> Integer.toOctalString(map.get(e))).toArray(String[]::new);
  126.     }
  127.  
  128.     public static String[] getHexEbcidValues(String names) {
  129.         return Arrays.stream(names.split("")).map(e -> Integer.toHexString(map.get(e))).toArray(String[]::new);
  130.     }
  131.  
  132.     public static String[][] getAsciiValues(String[] words) {
  133.         String[][] matrix = new String[3][3];
  134.         for (int i = 0; i < words.length; i++) {
  135.             matrix[0][i] = formatArray(words[i], getBinaryAsciiValues(words[i]));
  136.             matrix[1][i] = formatArray(words[i], getOctalAsciiValues(words[i]));
  137.             matrix[2][i] = formatArray(words[i], getHexAsciiValues(words[i]));
  138.         }
  139.         return matrix;
  140.     }
  141.  
  142.     private static String formatArray(String names, String[] array) {
  143.         final String[] toReturn = {""};
  144.         AtomicInteger index = new AtomicInteger();
  145.         Arrays.stream(array).forEach(e -> toReturn[0] += String.format("%c -> %s ", names.charAt(index.getAndIncrement()), e));
  146.         return toReturn[0];
  147.     }
  148.  
  149.     public static String[] getBinaryAsciiValues(String names) {
  150.         return Arrays.stream(names.split("")).map(e -> Integer.toBinaryString(e.charAt(0))).toArray(String[]::new);
  151.     }
  152.  
  153.     public static String[] getOctalAsciiValues(String names) {
  154.         return Arrays.stream(names.split("")).map(e -> Integer.toOctalString(e.charAt(0))).toArray(String[]::new);
  155.     }
  156.  
  157.     public static String[] getHexAsciiValues(String names) {
  158.         return Arrays.stream(names.split("")).map(e -> Integer.toHexString(e.charAt(0))).toArray(String[]::new);
  159.     }
  160. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top