diff options
| author | Ben Culkin <scorpress@gmail.com> | 2023-06-23 19:48:38 -0400 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2023-06-23 19:48:38 -0400 |
| commit | 2df02c35b70f7e8077832470de9594b657f1be67 (patch) | |
| tree | 4353ce1f78571e038bbe8fed62d321c77a7b868c /base/src/main/java/bjc/utils/funcutils | |
| parent | 4a96d9cad446ea405b51dfeebb01a1b6d7f6fb2b (diff) | |
Add terminal
This is some functionality based on the way that MVS/other IBM OSes
handle their UI
Diffstat (limited to 'base/src/main/java/bjc/utils/funcutils')
| -rw-r--r-- | base/src/main/java/bjc/utils/funcutils/StringUtils.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/funcutils/StringUtils.java b/base/src/main/java/bjc/utils/funcutils/StringUtils.java index 0b57e18..2d86083 100644 --- a/base/src/main/java/bjc/utils/funcutils/StringUtils.java +++ b/base/src/main/java/bjc/utils/funcutils/StringUtils.java @@ -312,4 +312,32 @@ public class StringUtils { String... splits) { return LevelSplitter.def.levelSplit(phrase, keepDelims, splits); } + + /** + * Convert a string into a pseudorandom anagram. + * + * Works by swapping each character in the string with a random one. + * + * @param s The string to convert. + * + * @return A pseudo-random anagram + */ + public static String strfry(String s) { + char[] chars = s.toCharArray(); + + int strlen = chars.length; + Random rng = new Random(); + + for (int i = 0; i < strlen; i++) { + int randIdx = rng.nextInt(strlen); + + char source = chars[i]; + char dest = chars[randIdx]; + + chars[i] = dest; + chars[randIdx] = source; + } + + return String.valueOf(chars); + } }
\ No newline at end of file |
