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()
char[] strArr;
strArr = list.toCharArray();
for (char c : strArr) {
System.
out.
println(c
+ " : " + charCount
(c, text
));
}
}
//match counter for comparing two strings.
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
) {
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();
}
}