public class CharCountDist { public static void main(String[] args) { //charDist("ABCD","A BAD DAY"); // charDist("ABCDEIKLMNOPQRSVWXYZ", "XEWLOBDROYBISCDYMYWZEDOBCMSOXMOKCNSPPOBOXDSKVOAEKDSYXCKBODYOXQSXOOBSXQ"); //System.out.println(matchCount("ABBA","ABC")); // System.out.println(matchCount("ABBA","BAABAA") ); //System.out.println(displacement("ABBA", 2)); String fullString = "LCYFQPNGCYTNKVVEAKKYNKTFSWD" + "YRNAEERQQOCCMHSPFSHAEKRZIUVLEIWPYYAZINWAEVYDFI" + "ZCYDFIDZEJVLOAIRLOODDCDSRXCEOKYCALRECHHZTFPNTIW" + "ATJKFPMVJQLGVRSEODRRTCRCJJAEUQPNUJGEBRTIZNCPYQRZ" + "VLOLPRGCPCRLPIJRQDUDVBEOYRTPTYVAZRIVAEKVPAZMGRPPT" + "YVKPSJREPFIFKEHVGJLNVNGEHKYCNOIICNTCPCYCIPNEEUDCD" + "SRXCTFKYCJMRKASTYVNWAEVGDFIZCYDCPGQNFKGESKYCPNVDW" + "SONVTPRKYCPNVDWNAEJCYDRCYCGVESXBVIMQCYFQPNDVQDAXV" + "QEOFECZFPFSCPCRLPSREBWOFBYETYVPPSLCRTNXTGAHVIRPXKJ" + "GQTYZQLLCFUDTYVKEOUVBFCVKFPKVPRSEVECXYTRLPQLZNEHVZ" + "PALRECDSFKFPYTRLXAJHSPRRUCLSWIGPNUCW"; // for (int i = 0; i < 14; i++) { // System.out.print("Displacement of " + i + ": "); // System.out.println(displacement(i, fullString)); // } // for (int i = 0; i < 5; i++) { // System.out.println(everyXthStartingFrom(5, i, fullString)); // } String partialString = "LPTENWAQHHZEYWDYZOODEAHPAPLETJPEZQOCPDEPZEZPPPELENNYEDTJSWDYQEPSPPNYCXQPDEZCPWEPTAPQLDEFPSXPEADPXPLP"; // charDist("ACDEFHJLNOPQSTWXYZ", partialString); } //char count in a string public static int charCount(char C, String text) { char[] strArr; strArr = text.toCharArray(); int count = 0; for (char c : strArr) { if (C == c) { count++; } } return count; } //handles a list of chars to compare with charCount() public static void charDist(String list, String text) { char[] strArr; strArr = list.toCharArray(); for (char c : strArr) { System.out.println(c + " : " + charCount(c, text)); } } //match counter for comparing two strings. public static int matchCount(String text1, String text2) { char[] strArr1; char[] strArr2; strArr1 = text1.toCharArray(); strArr2 = text2.toCharArray(); int count = 0; for (int i = 0; (i < strArr1.length) && (i < strArr2.length); i++) { if (strArr1[i] == strArr2[i]) { count++; } } return count; } //create displacement of a string using spaces public static int displacement(int disp, String text) { String text2 = text; for (int i = 0; i < disp; i++) { text2 = " " + text2; } return matchCount(text, text2); } //returns a generated string showing every Xth character starting from position Y in a string public static String everyXthStartingFrom(int keyLen, int startingPos, String text) { //not gonna bother using a substring here, just gcd char[] strArr; strArr = text.toCharArray(); StringBuilder newString = new StringBuilder(); for (int i = 0; i < text.length(); i++) { if ((i - startingPos) % keyLen == 0) { newString.append(strArr[i]); } } return newString.toString(); } }