JAVA 15
Cryptography Homework 2 code Guest on 19th September 2022 07:04:46 AM
  1. public class CharCountDist {
  2.     public static void main(String[] args) {
  3.         //charDist("ABCD","A BAD DAY");
  4.         // charDist("ABCDEIKLMNOPQRSVWXYZ", "XEWLOBDROYBISCDYMYWZEDOBCMSOXMOKCNSPPOBOXDSKVOAEKDSYXCKBODYOXQSXOOBSXQ");
  5.         //System.out.println(matchCount("ABBA","ABC"));
  6.         // System.out.println(matchCount("ABBA","BAABAA") );
  7.         //System.out.println(displacement("ABBA", 2));
  8.         String fullString = "LCYFQPNGCYTNKVVEAKKYNKTFSWD"
  9.                 + "YRNAEERQQOCCMHSPFSHAEKRZIUVLEIWPYYAZINWAEVYDFI"
  10.                 + "ZCYDFIDZEJVLOAIRLOODDCDSRXCEOKYCALRECHHZTFPNTIW"
  11.                 + "ATJKFPMVJQLGVRSEODRRTCRCJJAEUQPNUJGEBRTIZNCPYQRZ"
  12.                 + "VLOLPRGCPCRLPIJRQDUDVBEOYRTPTYVAZRIVAEKVPAZMGRPPT"
  13.                 + "YVKPSJREPFIFKEHVGJLNVNGEHKYCNOIICNTCPCYCIPNEEUDCD"
  14.                 + "SRXCTFKYCJMRKASTYVNWAEVGDFIZCYDCPGQNFKGESKYCPNVDW"
  15.                 + "SONVTPRKYCPNVDWNAEJCYDRCYCGVESXBVIMQCYFQPNDVQDAXV"
  16.                 + "QEOFECZFPFSCPCRLPSREBWOFBYETYVPPSLCRTNXTGAHVIRPXKJ"
  17.                 + "GQTYZQLLCFUDTYVKEOUVBFCVKFPKVPRSEVECXYTRLPQLZNEHVZ"
  18.                 + "PALRECDSFKFPYTRLXAJHSPRRUCLSWIGPNUCW";
  19. //        for (int i = 0; i < 14; i++) {
  20. //            System.out.print("Displacement of " + i + ": ");
  21. //            System.out.println(displacement(i, fullString));
  22. //        }
  23.  
  24. //        for (int i = 0; i < 5; i++) {
  25. //            System.out.println(everyXthStartingFrom(5, i, fullString));
  26. //        }
  27.         String partialString = "LPTENWAQHHZEYWDYZOODEAHPAPLETJPEZQOCPDEPZEZPPPELENNYEDTJSWDYQEPSPPNYCXQPDEZCPWEPTAPQLDEFPSXPEADPXPLP";
  28. //        charDist("ACDEFHJLNOPQSTWXYZ", partialString);
  29.     }
  30.  
  31.     //char count in a string
  32.     public static int charCount(char C, String text) {
  33.         char[] strArr;
  34.         strArr = text.toCharArray();
  35.         int count = 0;
  36.         for (char c : strArr) {
  37.             if (C == c) {
  38.                 count++;
  39.             }
  40.         }
  41.         return count;
  42.     }
  43.  
  44.     //handles a list of chars to compare with charCount()
  45.     public static void charDist(String list, String text) {
  46.         char[] strArr;
  47.         strArr = list.toCharArray();
  48.         for (char c : strArr) {
  49.             System.out.println(c + " : " + charCount(c, text));
  50.         }
  51.     }
  52.  
  53.     //match counter for comparing two strings.
  54.     public static int matchCount(String text1, String text2) {
  55.         char[] strArr1;
  56.         char[] strArr2;
  57.         strArr1 = text1.toCharArray();
  58.         strArr2 = text2.toCharArray();
  59.         int count = 0;
  60.         for (int i = 0; (i < strArr1.length) && (i < strArr2.length); i++) {
  61.             if (strArr1[i] == strArr2[i]) {
  62.                 count++;
  63.             }
  64.         }
  65.         return count;
  66.     }
  67.  
  68.     //create displacement of a string using spaces
  69.     public static int displacement(int disp, String text) {
  70.         String text2 = text;
  71.         for (int i = 0; i < disp; i++) {
  72.             text2 = " " + text2;
  73.         }
  74.         return matchCount(text, text2);
  75.     }
  76.  
  77.     //returns a generated string showing every Xth character starting from position Y in a string
  78.     public static String everyXthStartingFrom(int keyLen, int startingPos, String text) {
  79.         //not gonna bother using a substring here, just gcd
  80.         char[] strArr;
  81.         strArr = text.toCharArray();
  82.         StringBuilder newString = new StringBuilder();
  83.         for (int i = 0; i < text.length(); i++) {
  84.             if ((i - startingPos) % keyLen == 0) {
  85.                 newString.append(strArr[i]);
  86.             }
  87.         }
  88.         return newString.toString();
  89.     }
  90. }

Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.